Error del compilador CS0456
El parámetro de tipo 'Type Parameter Name 1' tiene la restricción 'struct'; por tanto, 'Type Parameter Name 1' no se puede utilizar como restricción para 'Type Parameter Name 2'
Las restricciones de tipo de valor están selladas implícitamente, por lo que no se pueden usar las restricciones como restricciones en un segundo parámetro de tipo. Esto es porque los tipos de valor no se puede invalidar. Para resolver este error, coloque una restricción de tipo de valor directamente en el segundo parámetro de tipo, en lugar de hacerlo indirectamente por medio del primer parámetro de tipo.
El ejemplo siguiente genera la advertencia CS0456.
// CS0456.cs
// compile with: /target:library
public class GenericsErrors
{
public class G5<T> where T : struct
{
public class N<U> where U : T {} // CS0456
public class N2<U> where U : struct {} // OK
}
}
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: