Mikor használjak readonly változót és mikor csak olvasható propertyt?
Tudod, mi a readonly?
Tudod mi az "get only"?
Mi a különbség?
Segítség: classon kívülről ugyanaz a helyzet, classon belül lesz más.
Nagyon egyszerűen megfogalmazva:
A ReadOnly a program, programozó számára írható és olvasható, a felhasználó csak olvashatja és nem módosíthatja, míg az 'olvasható' tulajdonságot mindketten csak olvashatják. Ezek általában olyan tulajdonságok melyek vagy öröklődtek - akár az op. rendszertől is - vagy mást 'rántanának' magukkal és nem kívánjuk lekezelni - nem látjuk szükségét -.
#2: sztem te rosszra gondolsz, nem a readonly propertyre, hanem amikor a setter privát, nem így van?
Ha a setter privát, akkor a propertyt csak classon belülről tudod beállítani, viszont ha readonly a property, akkor nincs setter, értéket adni neki csak konstrulrorból lehet (vagy egyből a deklaráció után)
Na, tehát a readonly változón a kérdező gondolom ezt érti:
public readonly int _field = 5;
A csak olvasható property lehet ez:
public int MyProperty { get; private set; }
Ekkor a propertynek csak osztályon belül lehet értéket adni.
Lehet ez:
public int MyProperty
{
get { return _akarmiMas*5; }
}
Ebben az esetben ehhez nem is tartozik lefoglalt memória terület, csak kiszámol vmit, vagy pl egy belső objektum propertyjét adja vissza direktben.
Ill lehet ez, amit readonly propertynek hívnak:
public int MyProperty { get; } = 5;
Ennek csak így vagy a konstruktorban lehet értéket adni.
Az első és utolsó auto property, azaz a fordító generál hozzá backing fieldet.
Hogy melyikre gondolt a kérdező, szerintem mondja meg ő.
Én ezeket tudom, csak azt nem értem, hogy miért gondoltam rosszra.
A kérdező meg szerintem a kérdés alapján lehet azt se tudja, hogy az általa említett csak olvasható property korántsem egyértelmű. Vagy get only, vagy private set, vagy a harmadik, amit írtál.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!