共用方式為


編譯器警告 (層級 1) CS1720

更新:2007 年 11 月

錯誤訊息

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

如果您寫入的運算式包含預設泛型型別變數,而這個泛型型別變數是參考型別 (例如類別),便會發生這個錯誤。請參考下列運算式:

default(T).ToString()

由於 T 是參考型別,其預設值為 null,因此嘗試套用 ToString 方法,會產生 NullReferenceException

範例

在型別 T 上的類別參考條件約束 (Constraint) 會確保 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() {}
}