C# ben miért nem deklarálható változó definiálás nélkül az extern kulcsszóval úgy mint pl c++ ban?
Ezt nem értem:
"C++-ban C és Assembly kompatibilitás miatt van benne."
Tudom mi az az assembly csak nem látom még mindig,hogy miért nincs értelme ennek c# ban. Miért nem lehetséges c# ban definiálás nélkül deklarálni egy változót?
Az extern kulcsszó C-ben a függvény előtt redundáns/felesleges, mert a függvény deklaráció globálisan elérhető a programon belül. Változó esetén az extern kulcsszó a változó elérhetőségét teszi lehetővé a program más részéből. Nem nincs definiálva, hanem máshol van definiálva, egy másik lefordított programrészben.
És hol definiálom a változót egy másik c fájlban, assembly fájlban vagy library-be amit belefordítok a programba. A .NET assembly-jének semmi köze az assemblyhez, az a gépi utasításoknak megfeleltethető szöveges jelölés.
Na most a .NET-ben szépen elérhetsz egy másik fájlban külön osztályban deklarált statikus változót a névterekkel, minek kéne neked extern? Vagy egy másik .NET-es Assembly-ben ugyanúgy névteren belül osztályon keresztül.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!