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
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Ridimensionamento automatico input tramite CSS
Gestione ciclo di vita in .NET Aspire
Supportare la crittografia di ASP.NET Core con Azure Container App
Definire il colore di una scrollbar HTML tramite CSS
Gestire codice JavaScript con code splitting e lazy loading
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Utilizzare WebJobs su Linux con Azure App Service
Impostare automaticamente l'altezza del font tramite CSS
Utilizzo delle stepped value functions nel CSS
Evidenziare una porzione di testo in un pagina dopo una navigazione
Configurare e gestire sidecar container in Azure App Service


