Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dinamicko definicanje promenljivih

[es] :: .NET :: Dinamicko definicanje promenljivih

[ Pregleda: 3084 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gristic
Goran Ristic
Nis

Član broj: 27204
Poruke: 121
*.14.eunet.yu.



Profil

icon Dinamicko definicanje promenljivih01.09.2006. u 15:49 - pre 214 meseci
Kako mogu dinamicki da definisem promenjive u C#. Nesto kao u PHP-u:
for($i=0;$i<10;$i++)
{
lokal$i=something;
}
 
Odgovor na temu

VerbatimBOT
Aleksandar Dragosavac
Senior .NET Developer

Član broj: 84129
Poruke: 228
217.24.18.*



Profil

icon Re: Dinamicko definicanje promenljivih01.09.2006. u 15:55 - pre 214 meseci
Hm... nisam siguran da se to zove dinamičko definisanje, ali možeš bilo gde u kodu da ih definišeš:
Code:

for (int i=0; i<uslov; i++)
{
        // ovde dolazi neki kod
}

Winners never quit, quitters never win.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Dinamicko definicanje promenljivih01.09.2006. u 16:02 - pre 214 meseci
Citat:
gristic: Kako mogu dinamicki da definisem promenjive u C#. Nesto kao u PHP-u:
for($i=0;$i<10;$i++)
{
lokal$i=something;
}


Ne mozes, C# (a ni drugi CLI compliant jezici) nisu scripting jezici i objekti nisu dinamicki prosirivi. Kompajler mora da zna SVE lokalne promenljive zbog alokacije na steku i sve klase su immutable u trenutku izvrsenja.
Predlazem u jednostavnijoj varijanti koriscenje nizova, a u komplikovanijoj varijanti mozes da iskorsits reflection da napravis svoju dinamicku klasu (ali to je bas heavy i totalno neprakticno za vecinu primena)


Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.lionbridge.com.



+6 Profil

icon Re: Dinamicko definicanje promenljivih01.09.2006. u 17:18 - pre 214 meseci
Citat:
mmix: Ne mozes, C# (a ni drugi CLI compliant jezici) nisu scripting jezici i objekti nisu dinamicki prosirivi.


Proveri IronPython :)
 
Odgovor na temu

gristic
Goran Ristic
Nis

Član broj: 27204
Poruke: 121
*.48.eunet.yu.



Profil

icon Re: Dinamicko definicanje promenljivih02.09.2006. u 07:08 - pre 214 meseci
Kako onda da zavisno od neke promenljive definisem odredjeni broj controla.
Na primer: ako je x=5 da definisem 5 razlicitih TextBox-ova?
Pri cemu unapred ne znam kolika je promenljiva x.
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: Dinamicko definicanje promenljivih02.09.2006. u 08:31 - pre 214 meseci
Code:

int n = 5;
ArrayList boxovi = new ArrayList();
for (int i = 0; i < n; i++) {
    TextBox tb = new TextBox();
    boxovi.Add(tb);
}
 
Odgovor na temu

gristic
Goran Ristic
Nis

Član broj: 27204
Poruke: 121
*.47.eunet.yu.



Profil

icon Re: Dinamicko definicanje promenljivih02.09.2006. u 15:27 - pre 214 meseci
Hvala puno. To je resilo moj problem
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Dinamicko definicanje promenljivih05.09.2006. u 02:49 - pre 214 meseci
Citat:
Dragi Tata: Proveri IronPython


Abomination
Al opet, sve je bolje od IDispatch2 Kad se samo setim da sam lud pokusavao da ga iskoristim iz C++-a (kakvo mucenje )

Hmm, nisam bas u toku sa pitonom, al zar je stvarno moguce da mutiras .NET klasu tokom runtime-a? Ako jeste, kako iskoristiti taj late binding pri konzumiranju asemblija (narocito iz drugih CLI jezika). Nesto mi nisu sve koze na broju ovde Ja koliko znam assembly metadata sadrzi definitivni contract sadrzanih klasa, dinamicke klase su cista jeres
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.lionbridge.com.



+6 Profil

icon Re: Dinamicko definicanje promenljivih05.09.2006. u 13:02 - pre 214 meseci
Citat:
mmix: Hmm, nisam bas u toku sa pitonom, al zar je stvarno moguce da mutiras .NET klasu tokom runtime-a? Ako jeste, kako iskoristiti taj late binding pri konzumiranju asemblija (narocito iz drugih CLI jezika). Nesto mi nisu sve koze na broju ovde :) Ja koliko znam assembly metadata sadrzi definitivni contract sadrzanih klasa, dinamicke klase su cista jeres :)


U stvari, tip koji je napravio IronPython je želeo da dokaže kako je .NET loša platforma za dinamičke jezike, i onda je vremenom promenio mišljenje i sad radi za MS :)
CLR je zaista pravljen za static typing, ali kad pogledaš mehanizme kao što su refleksija i emit, vidiš da je u stvari moguće praviti i dinamičke jezike na .NET platformi. U stvari i VB.NET je moguće koristiti dinamički, mada obično nije preporučljivo: http://www.novetehnologije.com/Default.aspx?tabid=88

Ako te baš interesuje implementacija IronPython-a, možeš da skineš source ovde: http://www.codeplex.com/Source...ts.aspx?ProjectName=IronPython

Interesantno je da će IronPython izgleda da bude na listi "zvaničnih" MS jezika - sprema se i dodatak za VS.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Dinamicko definicanje promenljivih05.09.2006. u 14:41 - pre 214 meseci
Citat:
Dragi Tata: CLR je zaista pravljen za static typing, ali kad pogledaš mehanizme kao što su refleksija i emit, vidiš da je u stvari moguće praviti i dinamičke jezike na .NET platformi. U stvari i VB.NET je moguće koristiti dinamički, mada obično nije preporučljivo: http://www.novetehnologije.com/Default.aspx?tabid=88


To da, pravio sam ja svoje emitere da kreiram dinamicke klase bazirane na externoj shemi kako bi omogucio databinding iz dizajnera. Ali ono sto ja ne razumem je kako IronPython moze da promeni klasu jednom kad se emituje? Osnovna osobina scriptable jezika je da mogu u bilo kom trenutku u runtime-u da prosirim klasu i da npr dodam svoj metod. Cak i ako se implementira neka varijanta IDispatch2 interfejsa kako prevariti .NET kompajler da uopste pokusa da uradi LateBinding na drugoj .NET klasi (osim ako ne misle da ja svaki put castujem objekat u Object tip ?!?), ne vidim kako je ovo moguce bez promena na kompajleru, a sa druge strane ce takva promena na kompajleru spreciti strong type checking i otvoriti pandorinu kutiju runtime gresaka od kojih pate svi scriptable jezici...

Citat:
Dragi Tata:Interesantno je da će IronPython izgleda da bude na listi "zvaničnih" MS jezika - sprema se i dodatak za VS.


Yuck, al ako deca vole sto da ne...
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.lionbridge.com.



+6 Profil

icon Re: Dinamicko definicanje promenljivih05.09.2006. u 15:27 - pre 214 meseci
Citat:
mmix: Yuck, al ako deca vole sto da ne... :)


Eh, ne treba biti isključiv :)

Za "produkcijski" kod, static typing je zaista jako dobra stvar, ali i skripte imaju svoju primenu.

Inače, od .NET jezika, do sad mi se najviše dopada Boo. Sintaksa Pythona, ali static typing.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Dinamicko definicanje promenljivih06.09.2006. u 13:17 - pre 214 meseci
Citat:
Dragi Tata: Eh, ne treba biti isključiv


Zezam se, python je ok, ja samo imam averziju prema scriptable jezicima, posto takve jezike svi tretiraju kao "lake" pa ih daju pocetnicima da rade i onda to na kraju zavrsi disfunkcionalno na mom spisku taskova. C# je bio blagoslov za mene, ako ni zbog cega drugog onda zbog strong type-inga sto je sprecavalo sampione da mi salju sintaksno/tipsko neispravan kad, ako .NET krene scriptable putem bice belaja.

Mada nista od ovog ne odgovara na moje pitanje, kako dinamicki prosiriti klasu/objekat jednom kad se publikuje Runtime kompajliranje i emitovanje koda je ok, ali to je ista prica kao i pre-compiled kod, samo je lokacija na kojoj sekompajlira drugacija...
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

[es] :: .NET :: Dinamicko definicanje promenljivih

[ Pregleda: 3084 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.