Compilerfehler CS0460
Aktualisiert: November 2007
Fehlermeldung
Einschränkungen für Überschreibungs- und explizite Schnittstellenimplementierungsmethoden werden von der Basismethode geerbt und können daher nicht direkt angegeben werden
Constraints for override and explicit interface implementation methods are inherited from the base method, so they cannot be specified directly
Wenn eine generische Methode, die Teil einer abgeleiteten Klasse ist, eine Methode in der Basisklasse überschreibt, dürfen Sie keine Einschränkungen für die überschriebene Methode angeben. Die Überschreibungsmethode in der abgeleiteten Klasse erbt ihre Einschränkungen von der Methode in der Basisklasse.
Beispiel
Im folgenden Beispiel wird CS0460 generiert.
// 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
}