나는 다음과 같은 수업을 내가 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