2014-11-10 3 views
0

SomeFile 클래스에는 HeaderBody이라는 중첩 클래스가 있습니다.다른 어셈블리에서 개인 중첩 클래스의 속성에 액세스하려면 어떻게해야합니까?

나는 SomeFile.Header.CreateDateSomeFile.Body.Hash에 액세스하려는하지만 중첩 된 클래스는 개인이며, SomeFile의 클래스의 특성이 공공 때문에 코드는 일관성 접근성 오류를 보여주는 컴파일 할 수 없습니다.

나는 HeaderBodySomeFile 외부 인스턴스화하지 않으려하지만, 나는 그들이 SomeFile.Header를 통해 액세스 할 수 있도록하고 SomeFile.Body

어떤 패턴이나이를 달성하기 위해 어떤 해결책이 있는가 싶어?

감사합니다.

public class SomeFile 
{ 
    public Header Header { get; set; } 

    public Body Body { get; set; } 

} 

public class Header 
{ 
    internal Header() 
    { 

    } 

    public DateTime CreateDate { get; set; } 
} 

public class Body 
{ 
    internal Body() 
    { 

    } 

    public string Hash { get; private set; } 
} 

이 발신자가 HeaderBody 같은 유형에 액세스 할 수 있지만 요청으로 인스턴스화 할 수 없습니다 :

답변

1

은 생성자이 같은 내부가합니다.

+0

내부에서 개인으로 변경하려고했지만 외부 클래스에서 중첩 된 클래스 전용 수정 자에 액세스 할 수없는 것처럼 보였습니다. 그러나 이것은 나를 위해 충분합니다. – thReality

+0

private는 필요하지 않습니다. 'internal'은 컴파일을 보장하기에 충분합니다 ** 그리고 요구 사항 _ "SomeFile 외부에서 Header와 Body를 인스턴스화하지 않고 ** SomeFile을 통해 ** 액세스 할 수있게하고 싶습니다 .Header SomeFile.Body "_. 똑딱 고마워. – MickyD

관련 문제