이 설명서는 보관되지만 유지 되지 않습니다.

컴파일러 오류 CS0080

업데이트: 2007년 11월

오류 메시지

제네릭이 아닌 선언에는 제약 조건을 사용할 수 없습니다.
Constraints are not allowed on non-generic declarations

문제의 구문은 제약 조건을 형식 매개 변수에 적용하기 위해 제네릭 선언에서만 사용해야 할 수도 있습니다. 자세한 내용은 제네릭(C# 프로그래밍 가이드)을 참조하십시오.

다음 샘플에서는 MyClass가 제네릭 클래스가 아니고 Foo가 제네릭 메서드가 아니기 때문에 CS0080 오류가 발생합니다.

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