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
Usare le navigation property in QuickGrid di Blazor
Creare alias per tipi generici e tuple in C#
C# 12: Cosa c'è di nuovo e interessante
Criptare la comunicazione con mTLS in Azure Container Apps
Eseguire attività basate su eventi con Azure Container Jobs
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Creare un'applicazione React e configurare Tailwind CSS
Utilizzare i primary constructor di C# per inizializzare le proprietà
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Miglioramenti nelle performance di Angular 16
Assegnare un valore di default a un parametro di una lambda in C#
Gestione degli stili CSS con le regole @layer
I più letti di oggi
- Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
- .@GentiliMoreno tra poco con #VS2015 per lo sviluppatore web e #npm, #bower, #gulp: https://aspit.co/VS2015-live #aspilive
- Effettuare lo shutdown di un package MTS con uno script ASP
- 100$ in 3 anni per #vs10, #expression, #windowsserver e tanto altro ancora? c'è il programma WebSiteSpark: http://u.aspitalia.com/pi
- Formattare il log delle pipeline YAML di Azure DevOps