Export (0) Print
Expand All
Expand Minimize

Compiler Warning (level 1) CS1720 

Error Message

Expression will always cause a System.NullReferenceException because the default value of 'generic type' is null

If you write an expression involving the default of a generic type variable that is a reference type (for example, a class), this error will occur. Consider the following expression:

default(T).ToString()

Since T is a reference type, its default value is null, and so attempting to apply the ToString method to it will throw a NullReferenceException.

Example

The class reference constraint on type T ensures that T is a reference type.

The following sample generates 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() {}
}

Community Additions

ADD
Show:
© 2014 Microsoft