Erro do Compilador CS0449
A restrição 'class' ou 'struct' deve vir antes de qualquer outra restrição
As restrições no parâmetro de tipo de um tipo genérico ou método devem ocorrer em uma ordem específica: class
ou struct
deve ser primeiro, se presente, então quaisquer restrições de interface e, finalmente, quaisquer restrições de construtor. Esse erro é causado pela restrição class
ou struct
que não aparece primeiro. Para resolver esse erro, reordene as cláusulas de restrição.
O exemplo a seguir gera 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 {}
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: