View Full Version : [C#] Valutare espressioni stringa
RobyG_08
18-07-2008, 13:46
Ciao a tutti,
qualcuno sa se c'è un modo per valutare un'espressione passata come stringa?
Per renderla semplice, poniamo il caso che io abbia una situazione del genere:
int a = 2;
int b = 6;
string exp = "Math.Max(a, b)";
esiste una funzione che passata la stringa exp riesca a valutarne il contenuto e restituirmi il risultato?
Grazie
^TiGeRShArK^
18-07-2008, 13:50
http://www.codeproject.com/KB/cs/evalcscode.aspx
RobyG_08
18-07-2008, 13:55
Ottimo! Grazie :D
Ciao a tutti,
qualcuno sa se c'è un modo per valutare un'espressione passata come stringa?
Per renderla semplice, poniamo il caso che io abbia una situazione del genere:
int a = 2;
int b = 6;
string exp = "Math.Max(a, b)";
esiste una funzione che passata la stringa exp riesca a valutarne il contenuto e restituirmi il risultato?
Grazie
Con il C# e' possibile compilare al volo del codice presente su una stringa.
Per ottenere il risultato puoi passare attraverso questo concetto.
P.es. puoi compilare un pezzo di codice che si suppone essere una funzione (Come questa), ottenere come risultato un delegate da richiamare proprio come la funzione che hai scritto nella stringa.
Oppure puoi usare un pezzo di codice che assomiglia a cosa vuoi, gia' scritto da altri.
http://www.codeproject.com/KB/cs/runtime_eval.aspx
Se la tua funzione deve essere parametrica (come il tuo esempio) e' un po' piu' complesso, e non penso che tu possa usare questo esempio.
Ma a partire da questo si puo' fare qualcosa.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.