Was ist die Bedeutung des geplanten "private protected" C# zugriffsmodifizierer?

Als Teil der Roslyn Dokumentation auf GitHub, es gibt eine Seite namens Sprache, Funktion, Stand der Umsetzung, mit den geplanten Sprachfeatures für C# und VB.

Einem Funktion konnte ich nicht wickeln Sie meinen Kopf herum war private protected Zugriff Modifikator:

private protected string GetId() {  } 

Es gibt auch eine Seite von C# - Sprache-Design-Noten, die erklärt, viele neue features, aber nicht diese.

Eric Lippert sagte in einem Kommentar:

Dein Fehler ist zu denken, dass die Modifikatoren wie die zunehmenden Einschränkungen. Die Modifikatoren in der Tat immer Beschränkungen abzubauen. Denken Sie daran, die Dinge "privat" standardmäßig aktiviert; nur durch hinzufügen von Modifikatoren machen Sie Sie weniger eingeschränkt.

Was ist der Sinn des private protected? Wann kann ich es nutzen?

  • Beachten Sie, dass Informationen über Sie unter dem VB-Sprache-design-notes.
  • Es ist eine Zuordnung zu MethodAttributes.FamANDAssem. C# hat eine merkwürdige Abbildung von internen, verwendet es (Privat|FamANDAssem). Und internen, geschützten Karten auf (Privat|Familie). Die CLR-Attribute sind seltsam.
  • Diese vorgeschlagene Funktion wird mein Kommentar falsch.
  • Der C# - design-team veröffentlicht eine Umfrage mit den vorgeschlagenen alternative syntax für dieses feature. Einige von Ihnen sind interessant, wie protected & internal, assembly protected oder proternal (ich hoffe, dass einige dieser "Scherze"). Es gibt auch die Diskussions-thread mit ein paar nette Einblicke.
  • Funktion ist nun markiert zurückgezogen in der Sprache, die Funktion Stand der Umsetzung! Ich persönlich mag die Idee, die dieser Zugriffsstufe und ich denke, es ist ein nützliches feature. Ich will das geschützt zu halten meinen code entsprechend der Klasse design, aber ich will nicht, dass andere schreiben hacky sublasses, die Zugriff auf diese Mitglieder. IMO die beste Lösung wäre es, wenn wir schreiben könnten protected | internal und protected & internal
InformationsquelleAutor Kobi | 2014-04-04
Schreibe einen Kommentar