Auf Englisch lesen

Freigeben über


Compilerfehler CS0451

Die new()-Einschränkung kann nicht mit der struct-Einschränkung verwendet werden.

Beim Angeben von Einschränkungen für den Typ einer Generika, kann die new() -Einschränkung nur mit Klassentypeinschränkungen, Schnittstellentypeinschränkungen, Verweistypeinschränkungen und Typparametereinschränkungen, aber nicht mit Werttypeinschränkungen verwendet werden.

Beispiel

Im folgenden Beispiel wird CS0451 generiert:

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