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
Ordine e importanza per @layer in CSS
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Simulare Azure Cosmos DB in locale con Docker
Gestire progetti NPM in .NET Aspire
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Combinare Container Queries e Media Queries
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Gestione dei nomi con le regole @layer in CSS
Utilizzare Locust con Azure Load Testing
Utilizzare Container Queries nominali