Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS0080

Omezení nejsou povolená u ne generických deklarací.

Nalezená syntaxe se dá použít pouze v obecné deklaraci k použití omezení u parametru typu. Další informace najdete v tématu Obecné typy.

Následující ukázka vygeneruje CS0080, protože MyClass není obecnou třídou a Foo není obecná metoda.

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