我正在嘗試設計一個接口,以便它具有泛型類型的id和一個返回實現此接口的類的類型的泛型方法。例如:使用通用方法創建接口
public interface IEntity <IDType, MethodReturnType>
{
IDType ID {get; set;}
MethodReturnType Get();
}
public class Model : IEntity<int, Model>
{
int ID {get; set; }
Model Get() { // do something }
}
我的問題是,它似乎傻擺在型號爲IEntity的第二個類型參數,因爲我在模型的類是已經,應該是某種智能的方式來找出鍵入是(儘管使用泛型類型需要在編譯之前確定它)。
是否有任何其他解決方案可以幫助我擺脫模型類型,同時在接口中保留Get方法定義?
ID是否允許您擺脫「int」?它不允許我用fw 4.0在vs 2010中編譯它... – Gusman
不,沒有辦法。如果這是可能的,但..我設計的很多API都會更清晰! –
只有其他選項是將'MethodReturnType'替換爲'Object'。 – Dialecticus