Leer en inglés

Compartir a través de


Advertencia del compilador (nivel 1) CS1720

La expresión siempre producirá la excepción System.NullReferenceException porque el valor predeterminado de 'tipo genérico' es null

Si escribe una expresión que contiene el valor predeterminado de una variable de tipo genérico que es un tipo 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 aplicarle el método ToString , producirá una excepción NullReferenceException.

Ejemplo

La restricción de referencia de clase en el tipo T garantiza que T es un tipo de referencia.

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