更新:2007 年 11 月

错误消息

类型“Type Name”必须是不可为 null 的值类型才能用作泛型类型中的参数“Parameter Name”或方法“Generic Identifier”

如果您在实例化具有 value 约束的泛型类型或方法时使用非值类型参数,就会发生此错误。使用可为 null 的值类型参数时也可能发生此错误。请参见下面的代码示例的最后两行。

示例

下面的代码生成此错误。

 复制代码
// CS0453.cs
using System;
public class HV<S> where S : struct { }
public class H1 : HV<string> { }                   // CS0453
public class H2 : HV<H1> { }                       // CS0453
public class H3<S> : HV<S> where S : class { }     // CS0453
public class H4 : HV<int?> { }                     // CS0453
public class H5 : HV<Nullable<Nullable<int>>> { }  // CS0453