1
比方說叫InterfaceMethods,我有一個通用的接口如何從通用接口
IWhatEver<T> : where T : ....
{
T DoStuff(object value);
}
class Foo : IWhatEver<string> {...}
class Bar: IWhatEver<double> {...}
該接口由幾類實現的。
如何將此接口的實例存儲在列表中以及如何調用DoStuff函數?
事情是這樣的:
List<IWhatEver<????>> whatEvers = new List<IWhatEver<????>>(); // doesnt work...
whatEvers.Add(new Foo());
whatEvers.Add(new Bar());
var whatWillThisBe = whatEvers.Select(w => w.DoStuff(withSomeObject));
我相信這心不是甚至可能,但也許我忘了什麼事嗎?
不,這不太可能。您需要從非泛型接口繼承泛型接口,並且會爲您的方法等返回值引入另一個複雜的堆。 =) –
如何使用'dynamic'? – MarcinJuraszek
在上下文中不能使用動態...可悲的是。 – CSharpie