コンパイラの警告 (レベル 1) CS1720
'generic type' の既定値が Null であるため、式は常に System.NullReferenceException になります
このエラーは、参照型 (クラスなど) であるジェネリック型変数の既定値を含む式を記述すると、発生します。 次のような式があるとします。
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() {}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。