Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS0451

Omezení new() nelze použít s omezením "struktura".

Při zadávání omezení pro typ obecného new() lze omezení použít pouze s omezeními typu třídy, omezeními typu rozhraní, omezeními typu odkazu a omezeními parametrů typu typu, ale ne s omezeními typu hodnoty.

Příklad

Následující ukázka vygeneruje CS0451.

C#
// 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() {}  
}