Błąd kompilatora CS0449
Ograniczenie "class" lub "struct" musi pochodzić przed wszelkimi innymi ograniczeniami
Ograniczenia dotyczące parametru typu typu lub metody muszą wystąpić w określonej kolejności: class
lub struct
muszą być najpierw, jeśli istnieją, a następnie wszelkie ograniczenia interfejsu, a na koniec wszelkie ograniczenia konstruktora. Ten błąd jest spowodowany tym, że class
ograniczenie lub struct
nie jest wyświetlane jako pierwsze. Aby rozwiązać ten błąd, zmień kolejność klauzul ograniczeń.
Poniższy przykład generuje plik 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 {}
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: