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

Dinamicko definicanje promenljivih

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

[ Pregleda: 906 | Odgovora: 11 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gristic
Goran Ristic
Nis

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



Profil

icon Dinamicko definicanje promenljivih01.09.2006. u 15:49

Kako mogu dinamicki da definisem promenjive u C#. Nesto kao u PHP-u:
for($i=0;$i<10;$i++)
{
lokal$i=something;
}
01.09.2006. u 15:49 

VerbatimBOT
Aleksandar Dragosavac
Senior .NET Developer
Serbia, Belgrade

Član broj: 84129
Poruke: 223
217.24.18.*

Sajt: https://www.xing.com/prof..


Profil

icon Re: Dinamicko definicanje promenljivih01.09.2006. u 15:55
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
}

"I think it is obscene that we should believe that we are entitled to end somebody's life, no matter what that person has supposedly done or not done."
Richard Attenborough
01.09.2006. u 15:55 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

Moderator
Član broj: 17944
Poruke: 1612
69.17.213.*



Profil

icon Re: Dinamicko definicanje promenljivih01.09.2006. u 16:02
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)


▪ The word 'politics' is derived from the word 'poly', meaning 'many', and the word 'ticks', meaning 'blood sucking parasites' - Larry Hardiman
▪ If the good guy gets the girl, it's rated PG; if the bad guy gets the girl, it's rated R; and if everybody gets the girl, it's rated X
▪ Illegal aliens have always been a problem in the United States. Ask any Native American
01.09.2006. u 16:02 

Dragi Tata

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

Sajt: www.novetehnologije.com


Profil

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


Proveri IronPython :)
01.09.2006. u 17:18 

gristic
Goran Ristic
Nis

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



Profil

icon Re: Dinamicko definicanje promenljivih02.09.2006. u 07:08
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.
02.09.2006. u 07:08 

jablan
Mladen Jablanović
Beograd

Član broj: 8286
Poruke: 3003
*.adsl.sezampro.yu.

Sajt: blog.radioni.ca


Profil

icon Re: Dinamicko definicanje promenljivih02.09.2006. u 08:31
Code:

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

02.09.2006. u 08:31 

gristic
Goran Ristic
Nis

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



Profil

icon Re: Dinamicko definicanje promenljivih02.09.2006. u 15:27
Hvala puno. To je resilo moj problem
02.09.2006. u 15:27 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

Moderator
Član broj: 17944
Poruke: 1612
*.ppp-dhcp.logic.bm.



Profil

icon Re: Dinamicko definicanje promenljivih05.09.2006. u 02:49
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
▪ The word 'politics' is derived from the word 'poly', meaning 'many', and the word 'ticks', meaning 'blood sucking parasites' - Larry Hardiman
▪ If the good guy gets the girl, it's rated PG; if the bad guy gets the girl, it's rated R; and if everybody gets the girl, it's rated X
▪ Illegal aliens have always been a problem in the United States. Ask any Native American
05.09.2006. u 02:49 

Dragi Tata

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

Sajt: www.novetehnologije.com


Profil

icon Re: Dinamicko definicanje promenljivih05.09.2006. u 13:02
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.
05.09.2006. u 13:02 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

Moderator
Član broj: 17944
Poruke: 1612
69.17.213.*



Profil

icon Re: Dinamicko definicanje promenljivih05.09.2006. u 14:41
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...
▪ The word 'politics' is derived from the word 'poly', meaning 'many', and the word 'ticks', meaning 'blood sucking parasites' - Larry Hardiman
▪ If the good guy gets the girl, it's rated PG; if the bad guy gets the girl, it's rated R; and if everybody gets the girl, it's rated X
▪ Illegal aliens have always been a problem in the United States. Ask any Native American
05.09.2006. u 14:41 

Dragi Tata

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

Sajt: www.novetehnologije.com


Profil

icon Re: Dinamicko definicanje promenljivih05.09.2006. u 15:27
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.
05.09.2006. u 15:27 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

Moderator
Član broj: 17944
Poruke: 1612
69.17.213.*



Profil

icon Re: Dinamicko definicanje promenljivih06.09.2006. u 13:17
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...
▪ The word 'politics' is derived from the word 'poly', meaning 'many', and the word 'ticks', meaning 'blood sucking parasites' - Larry Hardiman
▪ If the good guy gets the girl, it's rated PG; if the bad guy gets the girl, it's rated R; and if everybody gets the girl, it's rated X
▪ Illegal aliens have always been a problem in the United States. Ask any Native American
06.09.2006. u 13:17 

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

[ Pregleda: 906 | Odgovora: 11 ]

Postavi temu Odgovori

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