我有以下類和我試圖調用從ExportFileBaseBL類比較方法,但我得到的錯誤C#泛型 - 從一個普通類調用泛型方法
不能鍵入「1類」隱式轉換爲「T」 。一個顯式轉換存在(是否缺少強制轉換?)
public abstract class Class1<T> where T: Class2
{
public abstract Class1<T> Compare(Class1<T> otherObj);
}
public abstract class Class3<T, U> where T: Class1<U>
where U: Class2
{
public T Compare(T obj1, T obj2)
{
if (obj1.Prop1 > obj2.Prop1)
{
return obj1.Compare(obj2); // Compiler Error here
}
else
{
return obj2.Compare(obj1); // Compiler Error here
}
}
}
不應類型轉換是隱式的?我錯過了什麼嗎?
比較方法不是通用的,所以它不會接受當前形式的類型參數。 – 2011-02-02 17:22:55
但@Kyle只是說明了它需要在父代碼中修復的地方。他還需要添加一個'`到第一類比較方法。 –
jcolebrand
2011-02-02 17:28:39