Ошибка компилятора CS0449
Все другие ограничения должны следовать после ограничения "class" или "struct".
Ограничения параметра общего типа или метода должны применяться в следующем порядке: сначала class
или struct
(если таковые имеются), затем все ограничения интерфейса, и наконец — все ограничения конструктора. Эта ошибка возникает в том случае, когда ограничение class
или struct
следует не первым. Чтобы устранить эту ошибку, измените порядок предложений ограничений.
Следующий пример приводит к возникновению ошибки CS0449:
// CS0449.cs
// compile with: /target:library
interface I {}
public class C4
{
public void F1<T>() where T : class, struct, I {} // CS0449
public void F2<T>() where T : I, struct {} // CS0449
public void F3<T>() where T : I, class {} // CS0449
// OK
public void F4<T>() where T : class {}
public void F5<T>() where T : struct {}
public void F6<T>() where T : I {}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: