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
Migrare una service connection a workload identity federation in Azure DevOps
Recuperare l'ultima versione di una release di GitHub
Creare una libreria CSS universale: Cards
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Il nuovo controllo Range di Blazor 9
Ottenere un token di accesso per una GitHub App
Gestire il colore CSS con HWB
Triggerare una pipeline su un altro repository di Azure DevOps
Creare una libreria CSS universale: Nav menu
Gestire la cancellazione di una richiesta in streaming da Blazor
Aggiornare a .NET 9 su Azure App Service
Rendere le variabili read-only in una pipeline di Azure DevOps