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
Generare velocemente pagine CRUD in Blazor con QuickGrid
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Fornire parametri ad un Web component HTML
Creare una libreria CSS universale: Immagini
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Utilizzare una qualunque lista per i parametri di tipo params in C#
Gestione dei nomi con le regole @layer in CSS
La gestione della riconnessione al server di Blazor in .NET 9
Utilizzare l nesting nativo dei CSS
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps