Erro do Compilador CS0450Compiler Error CS0450

' Nome do parâmetro de tipo ': não é possível especificar uma classe de restrição e a restrição ' class ' ou ' struct ''Type Parameter Name': cannot specify both a constraint class and the 'class' or 'struct' constraint

Se um parâmetro de tipo for restrito pela restrição de tipo struct, ele será logicamente contraditório para que ele também seja restrito por um tipo de classe específico, já que struct e Class são categorias mutuamente exclusivas.If a type parameter is constrained by the struct type constraint, it is logically contradictory for it to also be constrained by a specific class type, since struct and class are mutually exclusive categories. Se um parâmetro de tipo for restrito por uma restrição de tipo de classe específica, ele será por definição restrita pela restrição de tipo de classe e, portanto, especificar a restrição de tipo de classe será redundante.If a type parameter is constrained by a specific class type constraint, then it is by definition constrained by the class type constraint, and so specifying the class type constraint is redundant.

ExemploExample

// CS0450.cs  
// compile with: /t:library  
public class GenericsErrors
{  
    public class B { }  
    public class G3<T> where T : struct, B { } // CS0450  
// To resolve, use the following line instead:  
// public class G3<T> where T : B { }  
}