2009-08-28 133 views
0

我有财产以后这样winsdor注册一个泛型类型构造函数的参数

MyRepository<T> : IRepository<T> { 

    public MyRepository(string cs){ 
    .... 

}

,所以我需要在winsdor注册这个泛型类型,并给他一个参数

我一直在尝试这样做:

Type t = typeof(IRepository<>); 
Type t1 = typeof(Repository<>); 
Hashtable props = new Hashtable(); 
props.Add("cs", "myconnstring"); 
container.AddComponentWithProperties("key1", t, t1, props); 

我得到以下错误

无法创建组件'key1',因为它具有要满足的依赖关系。 KEY1正在等待以下相关:

键(与特定的键组件) - 其中未注册CS。有关更多信息,

container.Register(Component.For(typeof(IRepository<>)) 
    .ImplementedBy(typeof(MyRepository<>)) 
    .Parameters(Parameter.ForKey("cs").Eq("myconnstring")); 

时退房fluent registration wiki

回答

3

试试这个。

+0

thnx man它工作得很好,我只是把cs的值放在Eq(value) – Omu 2009-09-01 07:01:10

相关问题