Как сделать свойство защищенным И внутренним в C #?
Вот мой сокращенный абстрактный класс:
abstract class Report {
protected internal abstract string[] Headers { get; protected set; }
}
Вот производный класс:
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
из любой точки сборки, но разрешить ее установку только производным классам. Я пытался сделатьHeaders
только внутренний, но защищенный не считается более строгим, чем внутренний. Есть ли способ сделать заголовки внутренними, а их набор доступа защищенными и внутренними?
Мне кажется, что я неправильно использую модификаторы доступа, поэтому любая помощь в разработке была бы очень полезна.