更新:2007 年 11 月
错误消息
由于“generic type”的默认值为 null,因此表达式总会导致 System.NullReferenceException如果您编写的表达式涉及泛型类型变量的默认值,而该泛型类型变量是引用类型(例如,类),则将发生此错误。请看下面的表达式:
default(T).ToString() | |
由于 T 是引用类型,它的默认值为 null,因此试图对其应用
示例
类型 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() {}
} | |