C# 7.2 introduce un nuovo access modifier denominato private protected. Un membro di una classe dichiarato come private protected può essere acceduto solamente dalle classi che ereditano dalla classe e che si trovano nello stesso assembly. Per chiarire meglio il concetto con uno frammento di codice.
//assembly A public class Person { private protected Name { get; set; } } public class Teacher : Person { public string GetName() { return $"Teacher name is: {Name}"; //Ok } } //Assembly B public class Student : Person { public string GetName() { return $"Student name is: {Name}"; //Errore di compilazione } }
La classe Teacher può lecitamente accedere alla proprietà Name in quanto eredita da Person e si trova nello stesso assembly. La classe Student si trova in un altro assembly quindi non puè accedere alla proprietà Name e si ottiene un errore in fase di compilazione
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Paginare i risultati con QuickGrid in Blazor
Load test di ASP.NET Core con k6
Eseguire operazioni sui blob con Azure Storage Actions
Definire stili a livello di libreria in Angular
Utilizzare la libreria Benchmark.NET per misurare le performance
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Reactive form tipizzati con modellazione del FormBuilder in Angular
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Miglioramenti nelle performance di Angular 16
Elencare le container images installate in un cluster di Kubernetes
Utilizzare i primary constructor in C#