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
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Condividere i workflow tra più repository in GitHub
Utilizzare flat e flatMap per appiattire array innestati in array
Gestire dati sensibili nella configurazione in ASP.NET Core
Collegare servizi a Azure Container App con i service connector
ChatOps con GitHub
Gestire il breaking change di Entity Framework Core 7 con tabelle che usano identity e trigger
Ottimizzare la persistenza che coinvolge un solo oggetto con Entity Framework Core 7
Scoprire le ottimizzazioni di Entity Framework Core in fase di scrittura di un solo record
Ricevere avvisi su metriche dei server Azure Arc
.NET 7 Live Q&A
Usare le variabili per personalizzare gli stili CSS