2009년 10월 29일 목요일

일관성 없는 액세스 가능성

일관성 없는 액세스 가능성: 'identifier' 제약 조건 형식이 'identifier'보다 액세스하기 어렵습니다.
Inconsistent accessibility: constraint type 'identifier' is less accessible than 'identifier'

제약 조건에서 제네릭 매개 변수에 대한 액세스 가능성을 제네릭 클래스 자체에 대한 액세스 가능성보다 낮게 적용하지 않을 수도 있습니다. 다음 예제에서는 제네릭 클래스 C<T>가 public으로 선언되었지만 제약 조건에서는 T에 내부 인터페이스를 구현하도록 하려고 합니다. 이러한 제약 조건이 허용되더라도 내부 액세스 권한을 가진 클라이언트만이 클래스에 대한 매개 변수를 만들 수 있으므로 해당 클라이언트만이 클래스를 사용할 수 있습니다.

이 오류를 해결하려면 제네릭 클래스에 대한 액세스 수준이 제네릭 클래스 범위에 해당하는 인터페이스나 클래스에 대한 액세스 수준과 같거나 더 제한적이어야 합니다.

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

 

http://msdn.microsoft.com/ko-kr/library/892fd5yc.aspx

 

참고로.. C#에서 기본적으로 class 만들면

namespace A

{

    class C

    {...}

}

이렇게 생성됩니다. 즉, public 이 아닌것입니다.


 

댓글 없음:

댓글 쓰기