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
Eseguire script pre e post esecuzione di un workflow di GitHub
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Miglioramenti nelle performance di Angular 16
.NET Conference Italia 2024
Eliminare una project wiki di Azure DevOps
Evitare il flickering dei componenti nel prerender di Blazor 8
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Managed deployment strategy in Azure DevOps
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Migliorare la sicurezza dei prompt con Azure AI Studio
Cancellare una run di un workflow di GitHub
Utilizzare Azure AI Studio per testare i modelli AI