Newsgroup: it.comp.www.asp
Titolo: [ASP.NET] Funzione Eval

In JScript.NET esiste quella comoda funzione nota come Eval() che permette
l'esecuzione dinamica di istruzioni date in input come stringa.
Negli altri linguaggi del framework, e piů precisamente C# e 
VB.NET
, a cosa
corrisponde?
--
Filippo Di Blasi 
fil...@puntoinformatico.it
http://puntoinformatico.it
 <-- E-shop informatico
http://puntoinformatico.it/usato
 <-- Usato
http://puntoinformatico.it/servizi
 <-- Servizi web


Moderatore di it.comp.www.asp
http://www.aspitalia.com
 Enjoy the .NET community!
http://www.dev2dev.it
 La rete ha connesso nuove particelle!

 una gran bella scocciatura in molti casi... :-(
Mmmh... secondo me hanno fatto 'na strunzata!
Cmq se io mi faccio una libreria in JS con una funzione
EvalXAltriLinguaggi() che accetta in input la stringa da eseguire, secondo
te è importabile in VB e C#?
Ho provato a fare eseguire espressioni matematiche e sembra ok, ma quando
provo a far riferimento a oggetti del programma VB o C# (ad es. WebForm), mi
dice che manca un ';'. Chissà...


 dice che manca un ';'. Chissà...
perchè tenta di eseguirli con la logica del JScript.NET.
magari prova a mandargli la sintassi di JScript.NET.


 magari prova a mandargli la sintassi di JScript.NET.
Supponiamo voglia richiamare il valore di un TextBox che si chiama
"controllo-" & i.
Così dovrebbe funzionare, no?
stringaVB = EvalXAltriLinguaggi("controllo-" & i & ".Text;")


 stringaVB = EvalXAltriLinguaggi("controllo-" & i & ".Text;")
dovresti provare :-)
ma in linea di massima direi di si.


 ma in linea di massima direi di si.
Ho già provato quando ho postato (era una domanda retorica),
ma non funzia... :-(((
--
Filippo Di Blasi
fil...@puntoinformatico.it
http://puntoinformatico.it
 <-- E-shop informatico
http://puntoinformatico.it/usato
 <-- Usato informatico


Non so purtroppo ancora nulla di .net ma ho letto su msdn che, a differenza
di asp, NON è più possibile mescolare più linguaggi
Non so se questo risolve (nel senso "stronca sul nascere") il tentativo di
chiamare una function jscript da vb.net...


Bhè... l'interoperabilità tra linguaggi è una delle caratteristiche salienti
di .NET, quello che, a detta M$, fa la differenza rispetto a Java:
cross-platform + cross-language.
Forse bisogna battere un'altra strada invece: dichiarare quella funzione
come metodo di una classe!
Oggi pomeriggio provo e vi faccio sapere.


 ha scritto nel messaggio
news:a7ca4b$cp8$1...@fe1.cs.interbusiness.it...

certo. però ti basta compilare lo script in un assembly, piazzarlo in /bin/
ed alla fine puoi lavorarci da 
VB.NET
, JScript.NET, Perlscript.NET, anche se
l'assembly è scritto in C#.
io per gli assembly preferisco C# che è più "pulito", per gli script 
ASP.NET
invece mi piace 
VB.NET
 che è più VB ;-) però non per questo non riesco ad
utilizzare gli assembly C# da 
ASP.NET
 con 
VB.NET
.


 Oggi pomeriggio provo e vi faccio sapere.
Niente... nun gliela fa! :-(((
Il problema è che viene creata un'istanza a parte per il codice eseguito in
JS, di conseguenza se faccio riferimento ad oggetti dichiarati in ambiente
VB o C#, mi dice che invece non sono stati dichiarati.
Ho provato allora ad aggiungere extends Page, ma nemmeno mi compila la
pagina.
E che caz'!
--
Filippo Di Blasi 
fil...@puntoinformatico.it
http://puntoinformatico.it
 <-- E-shop informatico
http://puntoinformatico.it/usato
 <-- Usato


Cerco di fermare la discussione a cascata provando a dire la mia:sarà perchè
JScript.NET (come dice lo stesso nome) è un linguaggio di scripting e quindi
interpretato mentre gli altri da voi nominati sono compilati (invece che
interpretati appunto)? Un linguaggio interpretato interpreta stringhe di
codice direttamente a run-time mentre un linguaggio compilato compila il
codice sorgente (cioè le famose stringhe di codice) in fase di compilazione
e genera codice macchina, e quindi non si possono eseguire direttamente
stringhe di codice a run-time.
Io la butto lì,poi fate vobis ;-).


 interpretato mentre gli altri da voi nominati sono compilati (invece che
tutti i linguaggi del .NET framework sono compilati in MSIL.
è il requisito indispensabile del framework, avere lo stesso codice anche se
il programma è scritto con linguaggi differenti tra loro.


 il programma č scritto con linguaggi differenti tra loro.

 si può fare essendo compilato e non interpretato.
no. è che alle volte le cose non le fanno perchè gli fa comodo non farle.
pensa che ora con 
VB.NET
 non puoi mettere in pausa un progetto che hai
lanciato per il debug.
bella str******


 wrote in message
a7mrp7$hmb$1...@ventolo.computerville.it...


 Sarà il caso di cambiare modus pensandi. Grazie della dritta.
è l'unico linguaggio per .NET che ha ancora script all'interno perchè di
fatto è una nuova versione di JScript, una variante di javascript creata da
Microsoft.
non so che nome avrebbero potuto inventarsi, ma credo che JScript.NET sia il
migliore.
e cmq, le pagine ASPX le continuiamo cmq a chiamare script, nonostante siano
compilate automaticamente.
non si è sempre rigorosi, specie quando si è acquisito da anni un certo modo
di pensare.
