이것은 구문 질문입니다. 제네릭 기본 클래스에서 상속되고 형식 매개 변수 중 하나에 제약 조건을 적용하는 제네릭 클래스가 있습니다. 또한 파생 클래스가 인터페이스를 구현하기를 원합니다. 내 인생에서 올바른 구문을 알아낼 수없는 것 같습니다.
이것이 내가 가진 것입니다.
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... }
가장 먼저 떠오른 것은 다음과 같습니다.
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar, IFoo { ... }
그러나 이는 T2가 IBar와 IFoo를 모두 구현해야하므로 DerivedFoo가 IFoo를 구현하는 것이 아니기 때문에 올바르지 않습니다.
나는 약간의 인터넷 검색, 콜론, 세미콜론 사용 등을 시도했지만 짧게 나타났습니다. 대답은 매우 간단합니다.
한 번봤을 때 @Adam의 대답을 이해할 수 없었지만 2 분 후에 나는 그것이 무엇인지 알 수있었습니다. 대답 해 주셔서 감사합니다. 파생 된 클래스는 하나 이상의 구현을 가지고있을 수 있습니다. 어쨌든 다른 사람들에게 그 표기법을 보여주고 싶습니다. "class DerivedClass <Type> : ParentClass where Type : IType". 마지막으로 구현 된 클래스와 where 절 사이에는 아무것도 없어야합니다.
—
nurisezgin