Ler em inglês

Compartilhar via


Erro do Compilador CS0451

A restrição 'new()' não pode ser usada com a restrição 'struct'

Ao especificar restrições no tipo de um genérico, a restrição new() só pode ser usada com restrições de tipo de classe, restrições de tipo de interface, restrições de tipo de referência e restrições de parâmetro de tipo, mas não com restrições de tipo de valor.

Exemplo

O exemplo a seguir gera o erro CS0451:

// CS0451.cs  
using System;  
public class C4
{  
   public void F4<T>() where T : struct, new() {}   // CS0451  
}  
  
// OK  
public class C5  
{  
   public void F5<T>() where T : struct {}  
}  
  
public class C6  
{  
   public void F6<T>() where T : new() {}  
}