Chyba kompilátoru CS0460
Omezení pro přepsání a explicitní metody implementace rozhraní jsou zděděna ze základní metody, takže je nelze zadat přímo.
Pokud obecná metoda, která je součástí odvozené třídy přepíše metodu v základní třídě, není možné určit omezení pro přepsánou metodu. Metoda override v odvozené třídě dědí svá omezení z metody v základní třídě.
Následující ukázka vygeneruje 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
}
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: