这是一个语法问题。我有一个泛型类,它是从泛型基类继承的,并且将约束应用于类型参数之一。我还希望派生类实现一个接口。对于我的一生,我似乎无法找出正确的语法。
这就是我所拥有的:
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,其中Type:IType”。最后实现的类和where子句之间不应存在任何内容。
—
nurisezgin