Freigeben über


Compilerfehler CS0080

Aktualisiert: November 2007

Fehlermeldung

Einschränkungen sind für nicht generische Deklarationen nicht zulässig.
Constraints are not allowed on non-generic declarations

Die vorhandene Syntax kann möglicherweise nur in generischen Deklarationen verwendet werden, um Einschränkungen auf den Typparameter anzuwenden. Weitere Informationen finden Sie unter Generika (C#-Programmierhandbuch).

Im folgenden Beispiel wird der Fehler CS0080 generiert, weil MyClass keine generische Klasse und Foo keine generische Methode darstellt.

namespace MyNamespace
{
    public class MyClass where MyClass : System.IDisposable // CS0080    //the following line shows an example of correct syntax
    //public class MyClass<T> where T : System.IDisposable
    {
        public void Foo() where Foo : new() // CS0080
        //the following line shows an example of correct syntax
        //public void Foo<U>() where U : struct
        {
        }
    }

    public class Program
    {
        public static void Main()
        {
        }
    }
}