Hier ist meine verkürzte abstrakte Klasse:Wie man eine Eigenschaft geschützt und intern in C#?
abstract class Report {
protected internal abstract string[] Headers { get; protected set; }
}
Hier ist eine abgeleitete Klasse:
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;
}
}
Die Idee ist, ich will in die von überall Report.Headers in der Lage sein zu können, rufen Assembly, aber nur durch abgeleitete Klassen gesetzt werden. Ich habe versucht, Header nur intern zu machen, aber geschützt gilt nicht als restriktiver als intern. Gibt es eine Möglichkeit, Header intern zu machen und dessen Set Accessor geschützt UND intern?
Ich habe das Gefühl, dass ich Access-Modifikatoren grob missbrauche, also würde jede Design-Hilfe sehr zu schätzen wissen.
Code kompiliert gut für mich. – Noldorin
@Noldorin: geschützt intern ist geschützt ODER intern. –
@Mehrdad: Ja, das wusste ich. Was ist der Punkt? – Noldorin