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
Utilizzare DeepSeek R1 con Azure AI
Utilizzare Containers in .NET Aspire
Montare Azure Blob Storage su Linux con BlobFuse2
Evitare memory leaks nelle closure JavaScript
Gestire pubblicazione Kubernetes tramite .NET Aspire
Proteggere l'endpoint dell'agente A2A delle Logic App
Recuperare gli audit log in Azure DevOps
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Le cron expression di un workflow di GitHub
Centralizzare gli endpoint AI Foundry con Azure API Management
Anonimizzare i dati sensibili nei log di Azure Front Door
Eseguire query in contemporanea con EF


