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
Evitare la compressione degli artefatti in un workflow di GitHub
Configurare OpenTelemetry per Application Insights su ASP.NET Core
Utilizzare noopener e noreferrer nei link HTML
Recuperare le subissue e il loro stato di completamento in GitHub
Introduzione a GitHub Copilot CLI
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Utilizzare Intersect e Except per filtrare set di dati in TSql
Impostare automaticamente l'altezza del font tramite CSS
Controllare la telemetria con .NET Aspire
Modificare lo stile in una QuickGrid Blazor
Dallo sviluppo locale ad Azure con .NET Aspire
Evidenziare una porzione di testo in un pagina dopo una navigazione




