-2
내가 컴파일 오류를 받고 있어요 컴파일이제네릭 상속 오류
유형 'WpfApplication2.CommandInstrumentTrade'는 제네릭 형식 또는 메서드 '의 형식 매개 변수'T '로 사용할 수 없습니다WpfApplication2.GenericWindowBase '. 'WpfApplication2.CommandInstrumentTrade'에서까지 'WpfApplication2.GenericCommandBase'
public interface IBaseClass
{
int ID { get; set; }
}
public class BaseClass : IBaseClass
{
public int ID { get; set; }
}
public class DerivedClass : BaseClass
{
}
public class Command
{
}
public class GenericCommandBase<T> : Command where T : IBaseClass
{
}
public class DerivedGenericCommand : GenericCommandBase<DerivedClass>
{
}
public class GenericWindowBase<T> where T : GenericCommandBase<IBaseClass>
{
}
public class DerivedGenericWindow : GenericWindowBase<DerivedGenericCommand> // this line fails
{
}
오류가 샘플 코드와 일치하지 않습니다. 이 오류는'GenericWindowBase '를 사용하고 있는데,'CommandInstrumentTrade'가'GenericWindowBase'의 where 조건을 만족하지 못하기 때문에 실패합니다. –
Peter
상속은 제네릭으로 구성되지 않습니다. 'Base'와'Derived'가 상속 관계를 가지고 있다고해서 그것이'Generic '과'Generic '이되는 것을 의미하지는 않습니다. –
@Damien_The_ 네가 맞습니까?하지만 이것에 대한 해결책이 있습니까? –