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 il colore CSS con HWB
Eseguire script pre e post esecuzione di un workflow di GitHub
Usare una container image come runner di GitHub Actions
Usare il colore CSS per migliorare lo stile della pagina
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Gestire la cancellazione di una richiesta in streaming da Blazor
Change tracking e composition in Entity Framework
Usare un KeyedService di default in ASP.NET Core 8
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Miglioramenti nell'accessibilità con Angular CDK
Utilizzare i primary constructor in C#