Windows Forms applications
Windows Forms is one of the most straightforward application types to implement DI. Just like Console application, it does not need special Ninject configuration. The Main
method in the Program
class is where we can use as a Composition Root (refer to Dependency Injection In .NET by Mark Seemann, published by Manning Publication Co.), and the framework components such as Form classes do not require to have a parameterless constructor, which makes implementation of constructor injection easily possible.
Add a new Windows Forms application to the Northwind
solution, and name it Northwind.Winforms
.
Add references to the Northwind.Core
project, Ninject.Extensions.Conventions
and Ninject.Extensions.Factory
. Note that the extensions implicitly add a reference to Ninject
if you are using NuGet. Otherwise, you need to add it manually.
We continue with the MainForm
, which is going to have a DataGrid
to show the list of customers.
Add a DataGrid
and bind it to a
BindingSource...