抽象类作为另一个类中的item

本文关键字:item 另一个 抽象类 | 更新日期: 2023-09-27 18:17:11

下面的语句返回一个错误:

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

MyBaseClass的定义如下:

public class MyBaseClass<T> where T : struct

错误出现在item - "{expected"之后的第二个":"
正确的语法是什么?
谢谢你。

抽象类作为另一个类中的item

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

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