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