내 단축 추상 클래스입니다 : 아이디어는C#에서 속성을 보호하고 내부로 만드는 방법은 무엇입니까?
class OnlineStatusReport : Report {
static string[] headers = new string[] {
"Time",
"Message"
}
protected internal override string[] Headers {
get { return headers; }
protected set { headers = value; }
}
internal OnlineStatusReport() {
Headers = headers;
}
}
, 내가 어디에서 Report.Headers를 호출 할 수 할 수 있도록하려면 다음은
abstract class Report {
protected internal abstract string[] Headers { get; protected set; }
}
파생 클래스입니다 어셈블리를 만들지 만 파생 클래스 만 설정하도록 허용합니다. Headers를 내부적으로 만들려고했으나 protected는 내부보다 더 제한적이지 않습니다. 헤더를 내부에 만들고 해당 접근자를 보호하고 내부로 만드는 방법이 있습니까?
나는 액세스 수정자를 심하게 오용하고있는 것처럼 느껴 지므로 어떤 디자인 도움도 크게 감사 할 것입니다.
코드가 잘 컴파일됩니다. – Noldorin
@Noldorin : 보호 된 내부는 보호되거나 내부입니다. –
@Mehrdad : 예, 알았습니다. 점은 무엇인가? – Noldorin