2012-09-12 2 views
-2

나는 여러 프로젝트어셈블리 이름 변경으로 인해 클래스에 액세스 할 수 없습니다

처음에는

와 해결책을 가지고, 어셈블리 이름 = B, 기본 네임 스페이스 = B , 내가 네임 스페이스 주전 몇 가지 클래스를 정의 아니 컴파일 오류

는 지금은 B에서 A 모든 어셈블리 이름을 변경하고 기본 네임 스페이스는 그런 내가 컴파일 오류가

, 그것은 인해 보호 수준

모든 아이디어에 대해 말한다 B로 남아 이 ?

+3

정말 구체적이어야합니다. 분명히 다른 변화가있었습니다. 몇 가지 코드를 게시하십시오. 특히, 오류를 제공하는 행과 클래스에 대한 정의가 어쩌면 무엇입니까? –

+0

'공개'로 설정하면 오류가 사라집니다. 또는 기본 네임 스페이스를'B'에서'A'로 변경하십시오. – Alex

답변

0

클래스 가시성 식별자를 생략했을 가능성이 가장 큽니다 (모두 public, protectedprivate 항목). 기본적으로 실수를하지 않으면 클래스 가시성 선언을 생략하면 C#은 internal (and there's a good question on SO about it)으로 가정하므로 호출하는 메소드에서 볼 수 없습니다.

가장 간단한 방법은 해당 클래스를 public으로 명시 적으로 표시하는 것입니다.

public class YOURCLASSNAME { 
    //other stuff you have 
} 

그러나 귀하의 경우에 클래스를 공개로 설정하는 것이 좋습니다. 캡슐화 OOP 원칙이란 모든 것을 선언하지 말아야한다는 것을 어느 정도 의미합니다 (public).

어쨌든 일부 코드 샘플은이 질문을 대답 할 수있는 질문으로 만들 수 있습니다. 이제 추측과 심령 디버깅입니다.

관련 문제