C# 公约的约束力
我有一个程序集:C# 公约的约束力,c#,ninject,C#,Ninject,我有一个程序集:Asbly1,它声明了这个接口: public interface IFieldFactory<T> { T createFieldObject(string fieldKey, object fieldValue); } 从assemblyAsbly1中,我想获得每个IFactory实现,并根据T泛型类型使用它们 我想我需要将IFactory绑定到它们的实现: public class FieldFactoryModule : Ninject.Module
Asbly1
,它声明了这个接口:
public interface IFieldFactory<T>
{
T createFieldObject(string fieldKey, object fieldValue);
}
从assemblyAsbly1
中,我想获得每个IFactory
实现,并根据T
泛型类型使用它们
我想我需要将IFactory
绑定到它们的实现:
public class FieldFactoryModule : Ninject.Modules.NinjectModule
{
public override void Load()
{
this.Bind(scanner => scanner.FromAssembliesMatching("*")
.SelectAllClasses()
.InheritedFrom(typeof(IFieldFactory<>))
.BindToFactory()
.Configure(c => c.InSingletonScope())
);
}
}
public class FieldFactoryModule : Ninject.Modules.NinjectModule
{
public override void Load()
{
this.Bind(scanner => scanner.FromAssembliesMatching("*")
.SelectAllClasses()
.InheritedFrom(typeof(IFieldFactory<>))
.BindToFactory()
.Configure(c => c.InSingletonScope())
);
}
}
UIFramework.Proxy.Extension.IoC.NInjectKernelHolder.Instance.Kernel.Get(
runtimeType,
new Ninject.Parameters.Parameter("fieldKey", propertyName, true),
new Ninject.Parameters.Parameter("fieldValue", assignedValue, true)
);