4
我有3类:A,B,和CC#依赖注入问题
所有这些类实现一个接口IMyInterface的
我想的接口,像这样被定义:
internal IMyInterface<E> where E: class
{
E returnData();
}
因此它可以返回类型为E的数据。 类型“E”将是使用实体框架v4创建的POCO对象。
在一个单独的I类有:
public class MyClass()
{
IMyInterface<??> businessLogic;
public setBusinessLogic(IMyInterface<E> myObject)
where E : class
{
businessLogic = myObject;
}
}
我试图把<object>
代替<??>
但它可能不投我的POCO实体类型。
我试过有我的实体实现的空接口IEntity
然后使用
IMyInterface<IEntity> businessLogic;
...
businessLogic = new A<POCOObject>();
结果:
Cannot implicitly convert type
'A<POCOObject>' to
'IMyInterface<IEntity>'. An explicit
conversion exists (are you missing a
cast?)
任何建议?
编辑:我试着说出我的A,B和C类为:
internal class A : IBidManager<EntityObjectType>
和
internal class A<E> : IBidManager<E> where E : class
导致同样的错误。
Hrmm最初它工作时,我刚做IBidManager businessLogic;然后做了businessLogic =(IBidManager )new A(); ....但由于某种原因,它不工作了... –
2010-07-01 00:21:30
虽然上述解决方案的工作,我不能这样做。在第一个示例中,您在类定义中使用。我们的系统不能以这种方式工作。我想创建一个类,然后调用一个函数来改变IMyInterface对象来引用别的东西。在第二个示例中,它不是动态的,POCOObject对于A,B和C是不同的 –
2010-07-01 00:25:02
它告诉我一个明确的转换存在... hrmm – 2010-07-01 00:29:49