Ошибка компилятора CS0460
Ограничения для переопределения и явной реализации методов интерфейса унаследованы от базового метода, поэтому они не могут быть указаны явно
Если универсальный метод, который является частью производного класса, переопределяет метод базового класса, для переопределяющего метода нельзя указывать ограничения. Переопределяющий метод в производном классе наследует ограничения от метода базового класса.
При компиляции следующего примера возникнет ошибка 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
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: