私は次のクラスを持っていると私はExportFileBaseBLクラスからメソッドを比較呼び出ししようとしていますが、私はエラーを取得C#のジェネリック - ジェネリッククラスからジェネリックメソッドを呼び出す
暗黙的に「T」を型「クラス1」を変換できません。 。明示的な変換は、(あなたがキャストが欠けている?)
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
}
}
}
存在型変換が暗黙的ではないでしょうか?何か不足していますか?
ダン、おかげで私の質問に答えます。 – logik6
Jup jup。これで、比較メソッドの型に関する更新が追加されたので、私はその答えに同意します。 – jcolebrand