CS0314 de erro do compilador

Mensagem de erro

O tipo de 'tipo' não pode ser usado sistema autônomo parâmetro de tipo 'name' no genérico tipo ou método 'nome'.Não há nenhuma conversão boxing ou conversão de parâmetro de tipo de 'tipo' para 'type2'.

Quando um tipo genérico usa um parâmetro de tipo que é restringido, a nova classe também deve ter essas mesmas restrições.

Para corrigir este erro

  • No exemplo a seguir, adicione where T : ClassConstraint a classe B.

Exemplo

O código a seguir gera CS0314:

// cs0314.cs
// Compile with: /target:library
public class ClassConstraint { }

public class A<T> where T : ClassConstraint
{ }

public class B<T> : A<T> //CS0314
{ }

// Try using this instead.
public class C<T> : A<T> where T : ClassConstraint
{ }

Consulte também

Referência

Restrições em parâmetros de tipo (Guia de programação C#)