Srodne teme
Kliknite za generisanje liste srodnih tema...
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

C# - ključna reč this

[es] :: .NET :: .NET Desktop razvoj :: C# - ključna reč this

[ Pregleda: 3443 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bm101
Vanja Tesin
Yu/Zr

Član broj: 1961
Poruke: 44
*.zre.sezampro.yu



Profil

icon C# - ključna reč this31.10.2002. u 22:38 - pre 261 meseci
Nabavio sam knjigu od CET-a "C# od početka" u kojoj primeri forsiraju obaveznu upotrebu ključne reči this prilikom referenciranja podataka članova klase.
Sad, koliko se sećam, u C++ je this korišćen najčešće u operatorima kada bi trebalo vratiti pokazivač ili referencu na trenutnu instancu klase. Naravno u C# sada su samo reference u pitanju (u managed "modu"), tako da mi nije najjasnije zašto je forsiran model pristupa podacima npr:

this.m_hForm; // naravno ovaj izraz je unutar private / public metoda klase

kada je m_hFrom već DEKLARISAN u klasi, kao član klase.

Naravno probao sam u kodu da koristim "staru" notaciju bez this-a i, naravno, radi.

BTW, vidim i da form designer forsira this.member način pristupa, iako su podaci članovi lepo definisani unutar klase.

DAKLE: zašto this, kada radi i bez nj?
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: C# - ključna reč this31.10.2002. u 23:12 - pre 261 meseci
Mogu da smislim dva razloga za to, mada naravno ne znam tačno čime su se rukovodili pisci knjige.

1. IntelliSense. Hoćeš da otkucaš ime promenljive članice, ali se ne sećaš tačno kako se zove. Onda otkucaš this. i pojavi ti se lista svih članica klase - biraj šta ti je volja.

2. Čitljivost koda. Ovo je bitno za one koji će da održavaju tvoj kod. Ako napišeš this.form odmah se vidi da je promenljiva form članica iste klase. Doduše, često se u tu svrhu korist koristi posebno obeležavanje promenljivih, kao što je mađarska notacija, ili upotreba prefiksa (ili postfiksa) _
 
Odgovor na temu

bm101
Vanja Tesin
Yu/Zr

Član broj: 1961
Poruke: 44
*.zre.sezampro.yu



Profil

icon Re: C# - ključna reč this01.11.2002. u 07:31 - pre 261 meseci

Za IntelliSense je ok, mada što se tiče čitljivosti koda, sama čitljivost se smanjuje kako se povećava veličina izraza koji se koriste, tako da baš ako ne mora da se koristi this, bilo bi čitljivije bez istog.
 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.STTNWAHO.dynamic.covad.net



+18 Profil

icon Re: C# - ključna reč this01.11.2002. u 08:34 - pre 261 meseci
Citat:
Dragi Tata:
2. Čitljivost koda. Ovo je bitno za one koji će da održavaju tvoj kod. Ako napišeš this.form odmah se vidi da je promenljiva form članica iste klase. Doduše, često se u tu svrhu korist koristi posebno obeležavanje promenljivih, kao što je mađarska notacija, ili upotreba prefiksa (ili postfiksa) _

Madjarska notacija se vise ne preporucuje, tacnije vise nije po 'pravilima'. Kao razlozi se navodi to da sa modernim alatom (dakle IntelliSense) i nije neka dobit, jer klikom misa ili pozicioniranjem kursora moze da se vidi tip promenljive, a madjarska notacija moze da ucini kod tezim za pracenje. Naravno sada moze da se diskutuje sta je tacno madjarska notacija, tj da li tipican 'hungarian wart' ima jedno ili 2 slova, ili je neki monstrum od 7 karaktera... :)
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..g-c5300-1.dialup.nethere.net



+6 Profil

icon Re: C# - ključna reč this03.11.2002. u 04:54 - pre 261 meseci
Mađarsku notaciju sam naveo kao primer, a inače je i ja ne koristim (u mojoj firmi je zabranjena). U poslednje vreme obično (po preporuci Herb Sutter-a) promenljivama članicama dodajem postfix _ (npr ime_ ili brojGodina_) kad programiram u C++u, a sa .NET jezicima se držim notacije koju preporučuje Microsoft:

http://msdn.microsoft.com/libr.../cpconcapitalizationstyles.asp
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9497
*.yubc.net



+10254 Profil

icon Re: C# - ključna reč this21.10.2003. u 14:15 - pre 249 meseci
Mislim da je pravi odgovor: bez ikakog razloga. Posto sam se bavio javom, this sam koristio da potenciram promenljivu klase. Na primer:
Code:

public class MyClass {
    String name;

    public setName(String name) {
        this.name = name;
    }
}


Dakle, ukoliko se pojave (kao da su pale sa neba) dve promenljive istog imena, onda se promenljiva klase referencira sa this.
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: C# - ključna reč this

[ Pregleda: 3443 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Srodne teme
Kliknite za generisanje liste srodnih tema...
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.