Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS0080

Ograniczenia nie są dozwolone w deklaracjach innych niż ogólne

Znaleziona składnia może być używana tylko w deklaracji ogólnej w celu zastosowania ograniczeń do parametru typu. Aby uzyskać więcej informacji, zobacz Ogólne.

Poniższy przykład generuje cs0080, ponieważ MyClass nie jest klasą ogólną, a Foo nie jest metodą ogólną.

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