Ler em inglês

Partilhar via


Erro do compilador CS0314

O tipo «tipo1» não pode ser utilizado como parâmetro de tipo «nome» no tipo genérico ou método «nome». Não há conversão de boxe ou conversão de parâmetro de tipo de 'tipo1' para 'tipo2'.

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

Para corrigir este erro

  1. No exemplo a seguir, adicione where T : ClassConstraint à 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