Error del compilador CS0080

Actualización: noviembre 2007

Mensaje de error

No se permiten restricciones en declaraciones no genéricas
Constraints are not allowed on non-generic declarations

La sintaxis encontrada sólo puede utilizarse en una declaración genérica para aplicar las restricciones al parámetro de tipo. Para obtener más información, vea Genéricos (Guía de programación de C#).

En el ejemplo siguiente se genera el error CS0080 porque MyClass no es una clase genérica y Foo no es un método genérico.

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