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
Gestire gli accessi con Token su Azure Container Registry
Ordine e importanza per @layer in CSS
Gestire i dati con Azure Cosmos DB Data Explorer
Creare una libreria CSS universale: Nav menu
Montare Azure Blob Storage su Linux con BlobFuse2
Supportare la crittografia di ASP.NET Core con Azure Container App
Utilizzare l nesting nativo dei CSS
Introduzione ai web component HTML
La gestione della riconnessione al server di Blazor in .NET 9
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Gestire progetti .NET + React in .NET Aspire
Ottimizzare le pull con Artifact Cache di Azure Container Registry