這可能是一個關於基礎設計的問題。聲明對象類型的接口
我想對神祕對象執行操作,只要它實現我的接口IMyInterface即可。而且我想由interace定義爲返回神祕對象,因此實例的方法之一...
IMyInterface
{
object GetInstance();
}
public class MysteryObject : IMYInterface
}
public object GetInstance()
{
MysteryObject instance = new MysteryObject();
return instance;
}
}
但這會導致不必要的「對象」類型以及與這些相關的開銷。 C#特別使用泛型來殺死這個開銷。這將是理想的做這樣的事情:
IMyInterface
{
T GetInstance<T>();
}
public class MysteryObject : IMYInterface
}
public MysteryObject GetInstance<MysteryObject>()
{
MysteryObject instance = new MysteryObject();
return instance;
}
}
我知道這第二個例子不起作用。我知道語法是錯誤的。 ..但我想知道是否有更好的方法來要求實現IMyInterface的對象返回它自己類型的實例。
我的例子有點不可思議,但我認爲大多數人會理解情緒。奇怪的是,我發現很少有這方面的例子或問題。
,幾乎鑄造引用類型爲對象來回 –