- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Chiamare una Sub/Function con stringa
-
Chiamare una Sub/Function con stringa
Esiste qualche calsse in .NET che richiama Sub o Function partendo dal loro nome sotto forma di stringa?
Ad esempio:
Sub Ciao() .... End sub Dim mySub as String = "ciao" Call mySub (che ovviamente dovrebbe essere sostituita con qualcosa che funzioni...)
-
Si usa la System.Reflection per esplorare il codice nell'assembly (minchia che figata!!!!)
Se serve a qualcuno posto la soluzione.;)
-
dai, postala che può essere molto utile a tutti
-
ecco qui
Mi serve per un menù XML in cui metto anche eventuali chiamate sull'action dei pulsanti scrivendo as esempio sub:miasub oppure redirect:link.aspx oppure transfer:link.aspx con opportuni argomenti per chiamata.
Quindi poi dovevo invocare 'ste chiamate....PrivateSub CallFromString(ByVal _subs AsString, OptionalByVal _args() AsString = Nothing) Dim MioAmbito As Type = Me.GetType() Dim MioMetodo As System.Reflection.MethodInfo = MioAmbito.GetMethod(_subs) If IsNothing(MioMetodo) Then ExitSub ' a me serviva questa riga qua sotto , perchè faccio il casting ' di una stringa separata da ; in array e se passo nulla 'mi crea _args() uguale a args(0)="" '...però si può fare meglio If _args.Length = 1 And _args(0) = ""Then _args = Nothing If IsNothing(_args) Then 'invoco senza argomenti MioMetodo.Invoke(Me, Nothing) Else 'invoco con argomenti MioMetodo.Invoke(Me, _args) EndIf EndSub
questa riga
Dim MioAmbito As Type = Me.GetType()
potrebbe anche essere
Dim MioAmbito As Type = Page.GetType()
Ma io lo utilizzo in un control, non nel Code-behind della pagina o nella pagina stessa, quindi ho dovuto fare così.
Penso sia giusto...funziona...
-
se adesso qualcuno mi sa dire come far ereditare una classe esterna ad un Control inserito in una pagina, in modo che siano accessibili da essa(classe esterna) anche tutti i WebControl potrei spostare tutto il codice nel mio B.O.
.....
era un altro mio post...
:D:D faccio anche cross-posting....