抽象类作为另一个类的TItem

时间:2013-06-06 16:16:23

标签: c# abstract

以下语句返回错误:

public class MySortedList<TKey, TItem> where TKey : struct, TItem : MyBaseClass<TKey>

MyBaseClass定义如下:

public class MyBaseClass<T> where T : struct

错误发生在TItem之后的第二个“:” - “{expected”
什么是正确的语法?
谢谢。

1 个答案:

答案 0 :(得分:1)

您需要使用多个where关键字,而不是用逗号分隔不同类型的约束:

public class MyBaseClass<T> where T : struct{}
public class MySortedList<TKey, TItem> 
    where TKey : struct
    where TItem : MyBaseClass<TKey>
{}