Leggere in inglese

Condividi tramite


Errore del compilatore CS0451

Non è possibile usare il vincolo 'new()' con il vincolo 'struct'

Quando si specificano i vincoli nel tipo di un oggetto generico, il vincolo new() può essere usato solo con vincoli di tipo classe, vincoli di tipo interfaccia, vincoli di tipo riferimento e vincoli del parametro di tipo, ma non con vincoli di tipo valore.

Esempio

L'esempio seguente genera l'errore 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() {}  
}