Erro do Compilador CS0450

"Type Parameter Name": não é possível especificar uma classe de restrição e a restrição "class" ou "struct" ao mesmo tempo

Se um parâmetro de tipo for restrito pela restrição de tipo struct, será logicamente contraditório que ele também seja restrito por um tipo de classe específico, já que struct e classe são categorias mutuamente exclusivas. Se um parâmetro de tipo for restrito por uma restrição de tipo de classe específica, ele será restrito por definição pela restrição de tipo de classe e, portanto, a especificação da restrição de tipo de classe será redundante.

Exemplo

// 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 { }  
}