0
public class clsA<T, T1>
where T : class
where T1 : class
{
public T GetEntity()
{
return (T) new clsB<T1>();
}
}
我收到錯誤無法將類型
clsB<T1>
到T轉換異常
請幫
public class clsA<T, T1>
where T : class
where T1 : class
{
public T GetEntity()
{
return (T) new clsB<T1>();
}
}
我收到錯誤無法將類型
clsB<T1>
到T轉換異常
請幫
這是因爲T
可以是任何東西 - string
例如,和這會導致演員失敗。如果T
不能是變量類型,則不要將其包含在泛型參數列表中。
如果你想允許T
是clsB<T1>
或任何亞型,並希望構建一個類的實例,然後做這個:
public class clsA<T, T1>
where T : clsB<T1>, new()
where T1 : class
{
public T GetEntity()
{
return new T();
}
}
然後,給定類型:
public class clsC : clsB<string> { }
對類型爲clsA<clsC, string>
的對象調用GetEntity()
將構造並返回clsC
的實例。
thnx cdhowie.it的作品。 – sjj
這是什麼語言?你可以給這個問題添加一個語言標籤嗎? –