使用英语阅读

通过


编译器警告(等级 1)CS1720

由于“泛型类型”的默认值为 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() {}  
}