Derleyici Uyarısı (düzey 1) CS1720
varsayılan 'generic type' değeri null olduğundan ifade her zaman System.NullReferenceException'a neden olur
Başvuru türü (örneğin, bir sınıf) olan genel tür değişkeninin varsayılanını içeren bir ifade yazarsanız, bu hata oluşur. Aşağıdaki ifadeyi göz önünde bulundurun:
default(T).ToString()
Bir başvuru türü olduğundan T
, varsayılan değeri null olur ve bu nedenle yöntemini uygulamaya ToString çalıştığınızda bir NullReferenceExceptionoluşturur.
Türdeki T
sınıf başvuru kısıtlaması, bunun bir başvuru türü olmasını T
sağlar.
Aşağıdaki örnek CS1720 oluşturur.
// 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() {}
}
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin: