编译器错误 CS1959
“name”属于类型“type”。 在常量声明中指定的类型必须为 sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、decimal、bool、string、枚举类型或引用类型。
常数声明中允许的类型仅限于此消息中描述的类型。
- 声明具有允许类型的常量。
以下代码会产生 CS1959,因为 null
不是类型。
C#
// cs1959.cs
class Program
{
static void Test<T>() where T : class
{
const T x = null; // CS1959
}
}