내보내기(0) 인쇄
모두 확장
확장 최소화
이 문서는 수동으로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

컴파일러 오류 CS0413

형식 매개 변수 'type parameter'에는 클래스 형식 제약 조건이나 'class' 제약 조건이 없으므로 'as' 연산자와 함께 사용할 수 없습니다.

이 오류는 제네릭 형식에서 as 연산자를 사용하지만 이 제네릭 형식에 클래스 형식 제약 조건이 없는 경우에 발생합니다. as 연산자는 참조 형식에만 사용할 수 있으므로 형식 매개 변수는 값 형식이 아니어야 합니다. 이 오류가 발생하지 않도록 하려면 클래스 형식 제약 조건 또는 참조 형식 제약 조건을 사용합니다.

이 오류가 발생하는 원인은 as 연산자가 올바른 값 형식이 아닌 null을 반환할 수 있으며 형식 매개 변수는 클래스 형식 제약 조건 또는 참조 형식 제약 조건이 아닌 경우 값 형식으로 취급되어야 하기 때문입니다.

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

// CS0413.cs
// compile with: /target:library
class A {}
class B : A {}

class CMain
{
   A a = null;
   public void G<T>()
   {
      a = new A();
      System.Console.WriteLine (a as T);  // CS0413
   }

   // OK
   public void H<T>() where T : A
   {
      a = new A();
      System.Console.WriteLine (a as T);
   }
}

커뮤니티 추가 항목

추가
표시:
© 2015 Microsoft