Error del compilador CS0314
Actualización: noviembre 2007
Mensaje de error
El tipo 'tipo1' no se puede usar como parámetro de tipo 'nombre' en el tipo o método genérico 'nombre'. No hay conversión boxing ni conversión de parámetro de tipo de 'tipo1' a 'tipo2'.
The type 'type1' cannot be used as type parameter 'name' in the generic type or method 'name'. There is no boxing conversion or type parameter conversion from 'type1' to 'type2'.
Cuando un tipo genérico utiliza un parámetro de tipo restringido, la nueva clase también debe cumplir las mismas restricciones.
Para corregir este error
- En el ejemplo siguiente, agregue where T : ClassConstraint a la clase B.
Ejemplo
El código siguiente genera el error CS0314:
// cs0314.cs
// Compile with: /target:library
public class ClassConstraint { }
public class A<T> where T : ClassConstraint
{ }
public class B<T> : A<T> //CS0314
{ }
// Try using this instead.
public class C<T> : A<T> where T : ClassConstraint
{ }
Vea también
Referencia
Restricciones de tipos de parámetros (Guía de programación de C#)