Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS0451

Ograniczenie "new()" nie może być używane z ograniczeniem "struktura"

Podczas określania ograniczeń dotyczących typu ogólnego new() ograniczenie może być używane tylko z ograniczeniami typu klasy, ograniczeniami typu interfejsu, ograniczeniami typu odwołania i ograniczeniami parametrów typu, ale nie z ograniczeniami typu wartości.

Przykład

Poniższy przykład generuje PLIK 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() {}  
}