我正在尝试定义一个通用类,它接受一个值类型(实际上它将是一个枚举)作为参数,并用它的默认类型初始化一个 const 字段。
我想要类似的东西:
public abstract class GenericClass<ValueType>
where ValueType: struct, IConvertible
{
public const ValueType val = default(ValueType);
}
不幸的是,编译器抱怨(我使用的是 Mono,但我认为它在 .NET 上是一样的)。错误如下:
错误 CS1959:类型参数“ValueType”不能声明为 const
我的错误是什么?