domenica 2 ottobre 2011

Invocare da codice un metodo di una classe VB.Net e C#

Qui di seguito, si riporta una tecnica di come invocare un metodo di una classe, passandogli un parametro, il tutto tramite il linguaggio di programmazione VB.Net e C#.
Tramite l'utilizzo dei delegate, vediamo come invocare un metodo.



Si crea un delegato
VB.Net



Public Delegate Function MioMetodoHandler(ByVal parametro As String) As String



C#



delegate string MioMetodoHandler(string parametro);



Creazione del metodo
VB.Net



Public Shared Function Metodo(ByVal Valore As String) As String



Return ("Valore passato: " + Valore)



End Function




C#



public static string Metodo(string Valore)



{



return "Valore passato: " + Valore;



}



Invocare il codice
VB.Net



Private Sub BtnInvoca_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnInvoca.Click



'oggetto delegato, che accetta due argomenti, il delegato, il nome della classe in cui ci troviamo, ed il metodo



Dim dl As [Delegate] = [Delegate].CreateDelegate(GetType(MioMetodoHandler), GetType(Form1), "Metodo")



'visualizzo a video il risultato dell'invocazione del metodo



MessageBox.Show(dl.DynamicInvoke("testo"))



End Sub




C#



private void BtnInvoca_Click(object sender, EventArgs e)



{



//oggetto delegato, che accetta due argomenti, il delegato, il nome della classe in cui ci troviamo, ed il metodo



Delegate dl = Delegate.CreateDelegate(typeof(MioMetodoHandler), typeof(Form1), "Metodo");



//visualizzo a video il risultato dell'invocazione del metodo



MessageBox.Show((string)dl.DynamicInvoke("Testo"));





}

Nessun commento: