更新:2007 年 11 月

错误消息

由于“generic type”的默认值为 null,因此表达式总会导致 System.NullReferenceException

如果您编写的表达式涉及泛型类型变量的默认值,而该泛型类型变量是引用类型(例如,类),则将发生此错误。请看下面的表达式:

 复制代码
default(T).ToString()

由于 T 是引用类型,它的默认值为 null,因此试图对其应用 ToString 方法将引发 NullReferenceException

示例

类型 T 上的类引用约束确保 T 是引用类型。

下面的示例生成 CS1720。

 复制代码
// CS1720.cs
using System;
public class Tester 
{
    public static void GenericClass<T>(T t1) where T : class 
    {
        Console.WriteLine(default(T).ToString());  // CS1720
    }
    public static void Main() {}
}