CS0450 de erro do compilador
Mensagem de erro
'Nome do parâmetro de tipo:' não é possível especificar uma restrição de classe e a restrição 'class' ou 'struct'
Se um parâmetro de tipo é restrito por restrição de tipo struct, é logicamente contraditórias para que ele também seja restrito por um tipo de classe específica, como struct e classe são categorias mutuamente exclusivas.Se um parâmetro de tipo é restrito por uma restrição de tipo de classe específica, em seguida, é por definição restringida por restrição de tipo de classe e então, especificando a restrição de tipo de classe é 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 { }
}