+ Rispondi alla Discussione
Risultati da 1 a 5 di 5

Chiamare una Sub/Function con stringa

Ultimo Messaggio di hwlab123 il:
  1. #1
    User L'avatar di hwlab123
    Data Registrazione
    May 2007
    Località
    Frosinone
    Messaggi
    53

    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:
    Codice:
    Sub Ciao()
    ....
    End sub
    Dim mySub as String = "ciao"
    Call mySub (che ovviamente dovrebbe essere sostituita con qualcosa che funzioni...)

  2. #2
    User L'avatar di hwlab123
    Data Registrazione
    May 2007
    Località
    Frosinone
    Messaggi
    53

    ce l'ho fatta....

    Si usa la System.Reflection per esplorare il codice nell'assembly (minchia che figata!!!!)

    Se serve a qualcuno posto la soluzione.

  3. #3
    Moderatore L'avatar di Legolas
    Data Registrazione
    Mar 2005
    Località
    Viterbo
    Messaggi
    770
    Aggiungi Legolas su Facebook Aggiungi Legolas su Linkedin
    dai, postala che può essere molto utile a tutti


  4. #4
    User L'avatar di hwlab123
    Data Registrazione
    May 2007
    Località
    Frosinone
    Messaggi
    53
    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....

    Codice:
    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
    Codice:
    Dim MioAmbito As Type = Me.GetType()
    potrebbe anche essere
    Codice:
    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...

  5. #5
    User L'avatar di hwlab123
    Data Registrazione
    May 2007
    Località
    Frosinone
    Messaggi
    53
    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...
    faccio anche cross-posting....

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.