Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Main()
- {
- var kernel = new Ninject.StandardKernel(new EntitieseModule(), new DocumentStoreModule(), new ModelRepositoryModule());
- }
- public interface IModelRepository<T> where T: IModel
- {
- //interface stuff here
- }
- public interface IDocumentStore
- {
- }
- public class DocumentStore : IDocumentStore
- {
- }
- public interface IModel
- {
- }
- public class User : IModel
- {
- }
- public class UserRepository : IModelRepository<User>
- {
- public UserRepository(IDocumentStore documentStore, string databaseName)
- {
- //constructor code here
- }
- }
- public class ModelRepositoryModule : NinjectModule
- {
- public override void Load()
- {
- string databaseName = "SomeName";
- Bind<IModelRepository<User>>()
- .To<UserRepository>()
- .WithConstructorArgument("documentStore", Kernel.Get<IDocumentStore>())
- .WithConstructorArgument("databaseName", databaseName);
- }
- }
- public class DocumentStoreModule : NinjectModule
- {
- public override void Load()
- {
- Bind<IDocumentStore>()
- .To<DocumentStore>();
- }
- }
- public class EntitieseModule : NinjectModule
- {
- public override void Load()
- {
- Bind<User>()
- .ToSelf();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment