我試圖返回IEnumerable<IMyInterface>
。我有一個類,MyClass:IMyInterface
,我從一個函數返回。返回IEnumerable <IMyInterface>將不起作用 - 必須使用IEnumerable <MyObj>而不是
IEnumerable<IMyInterface> test() {
tmpList = new List<MyClass>();
tmp1 = new MyClass();
tmp2 = new MyClass();
tmpList.Add(tmp1);
tmpList.Add(tmp2);
return tmpList;
}
編譯器將不允許,這對我來說似乎很奇怪,因爲MyClass:MyInterface。編譯器給出的錯誤沿線'cannot implicitly convert type System.Collections.Generic.IEnumerable<MyClass> to System.Collections.Generic.IEnumerable<IMyInterface. An explicit conversion exists. Are you missing a cast?'
我不能執行返回(IEnumerable<IMyInterface>)tmp
在運行時沒有強制異常。我錯過了什麼?我希望返回IEnumerable接口應該可以正常工作。
MyClass的是'IMyInterface',這是不一樣的'的IEnumerable '。你想達到什麼目的? –