Error del compilador CS0460
Las restricciones para métodos de invalidación y de implementación de interfaz explícita se heredan del método base; por tanto, no se pueden especificar directamente
Cuando un método genérico que forma parte de una clase derivada invalida un método de la clase base, no se pueden especificar restricciones en el método invalidado. El método de invalidación de la clase derivada hereda las restricciones del método de la clase base.
El ejemplo siguiente genera la advertencia CS0460.
// CS0460.cs
// compile with: /target:library
class BaseClass
{
BaseClass() { }
}
interface I
{
void F1<T>() where T : BaseClass;
void F2<T>() where T : struct;
void F3<T>() where T : BaseClass;
}
class ExpImpl : I
{
void I.F1<T>() where T : BaseClass {} // CS0460
void I.F2<T>() where T : class {} // CS0460
}
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: