에서 중첩 된 클래스의 내부 필드를 액세스이 문제는 다음과 같은 설정으로 귀결 범위가 매우 간단하다 : 나는에 대한 참조를 하나의 AppDomain에 B의 인스턴스가다른 응용 프로그램 도메인
public class B : MarshalByRefObject {
public A a;
public class A : MarshalByRefObject {
internal int c;
public int d;
}
}
다른 appdomain에서. 그러나 B.a.c를 호출하여 B에서 c를 참조 할 수 없습니다. 내가 할 경우 remotingexception "Remoting은 type C에서 필드 c를 찾을 수 없습니다"가 표시됩니다. 하지만 B.a.d를 호출하여 d에 액세스 할 수 있습니다. 리플렉션에 의존하지 않고 C를 얻을 수있는 방법이 있습니까? 아니면 단순히 AppDomains를 사용하는 결과입니까?
Mono 4.2.3에서 코드를 실행할 때 충분히 재미 있습니다. 예외는 없습니다. CAS에 문제가있는 것은 Windows에서만 발생합니다.
MSDN에서
감사합니다. 이 상황을 피할 수 있도록 코드 리팩토링을 종료했습니다. –