İngilizce dilinde oku

Aracılığıyla paylaş


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:

C#
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.

Örnek

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.

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