Compartilhar via


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