Utilizzare l'access modifier private protected in C# 7.2

di Stefano Mostarda, in .NET Framework,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi