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.
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() {}
}
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: