C# - Csak olvasható osztály mezők

C# nyelv 13. rész

forráskód letöltése
Ebben a részben olyan mezők deklarálásával foglalkozunk egy-egy osztályon belül, melyeknek értéke csak olvasható lesz, így azokat nem módosíthatjuk, értéket is csak a deklarációjuknál adhatunk.
Ha csak olvashatóként szeretnénk egy változót deklarálni, akkor a readonly módosító kulcsszót kell használnunk.
      readonly int a = 50;
Fenti deklaráció után az „a” változó értékét csak olvashatjuk, így az értékadási kísérletünk a fordításkor meghiúsul.
      protected void button1_Click (object sender, System.EventArgs e)
      {
        //a = 200;
        listBox1.Items.Add(a);        
        ...
      }
Igaz ez a helyzet akkor is, ha két különböző névtérben lévő readonly mezőhöz férünk hozzá, mely akár statikus is lehet, vagy példány.
  public class Class1
  {
    public static readonly int b = 100;        
    public readonly int c = 50;
    public static void Function() { //b = 10; }
    public void Function2() { //c = 40; }
  }
Ebben az esetben is csak olvasható lesz a Class1 osztályának a „b” és „c” változója, melyekhez még a saját osztályon belül sem férhetünk hozzá írásra.
      protected void button1_Click (object sender, System.EventArgs e)
      {
        ...
        //Class1.b = 200;
        listBox1.Items.Add(Class1.b);        
      }

C# nyelv cikksorozat