我有一個通用的方法與約束象下面這樣:對象的接口,但約束類型上實現該接口
private string GetResult<T>(T myObject) where T : IDoSomething<T>
{
......
}
現在的問題是,由階級,而不是由類實現接口而且對象是使用接口作爲其類型總是創造,而不是類,如:
IClassA myObject = new ClassA();
所以,每當泛型方法被調用時,鑄造必須在myObject
作出要轉發它作爲一個參數。
是否有避免轉換並使代碼有效的方法? (除了繼承在IClassA
選項)