閱讀英文

共用方式為


編譯器警告 (層級 1) CS1720

運算式一律會造成 System.NullReferenceException,因為 'generic type' 的預設值是 null

如果您撰寫的運算式涉及的泛型類型變數預設值為參考類型 (例如類別),則會發生此錯誤。 以下列運算式為例:

C#
default(T).ToString()  

由於 T 是參考類型,其預設值為 null,因此嘗試對其套用 ToString 方法時會擲回 NullReferenceException

範例

針對類型 T 的類別參考條件約束可確保 T 是參考類型。

下列範例會產生 CS1720:

C#
// 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() {}  
}