Advertencia del compilador (nivel 1) CS1720
Actualización: noviembre 2007
Mensaje de error
La expresión siempre producirá System.NullReferenceException porque el valor predeterminado de 'tipo genérico' es null
Expression will always cause a System.NullReferenceException because the default value of 'generic type' is null
Si escribe una expresión que incluye el valor predeterminado de una variable de tipo genérico y cuyo tipo es de referencia (por ejemplo, una clase), se producirá este error. Observe la siguiente expresión:
default(T).ToString()
Puesto que T es un tipo de referencia, su valor predeterminado es null y, al intentar para aplicarle el método ToString, producirá una excepción NullReferenceException.
Ejemplo
La restricción de referencia de clase sobre el tipo T garantiza que T sea un tipo de referencia.
El código siguiente genera la advertencia 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() {}
}