컴파일러 오류 CS0449

업데이트: 2007년 11월

오류 메시지

'class' 또는 'struct' 제약 조건은 다른 모든 제약 조건보다 앞에 와야 합니다.
The 'class' or 'struct' constraint must come before any other constraints

제네릭 형식 또는 메서드의 형식 매개 변수에 대한 제약 조건은 특정 순서로 사용해야 합니다. class 또는 struct가 가장 먼저 오고(있는 경우) 그 뒤에 인터페이스 제약 조건, 생성자 제약 조건 순으로 사용해야 합니다. 이 오류는 class 또는 struct 제약 조건이 맨 앞에 있지 않은 경우에 발생합니다. 이 오류를 해결하려면 제약 조건 절의 순서를 바꾸십시오.

예제

다음 샘플에서는 CS0449 오류가 발생하는 경우를 보여 줍니다.

// CS0449.cs
// compile with: /target:library
interface I {}
public class C4 
{
   public void F1<T>() where T : class, struct, I {}   // CS0449
   public void F2<T>() where T : I, struct {}   // CS0449
   public void F3<T>() where T : I, class {}   // CS0449

   // OK
   public void F4<T>() where T : class {}
   public void F5<T>() where T : struct {}
   public void F6<T>() where T : I {}
}