| << Successiva | Precedente >> |
| .Net: invocare metodi generici tramite reflection | ||
| Scritto da Paolo Montalto giovedì 11 febbraio 2010 |
||
|
Supponiamo di avere una classe che implementa un metodo "generico" , ad esempio: public class MyTestClass{
public void MetodoGenerico()
{
...
}
}
Per invocarlo ci basta creare un'istanza della classe ed invocare il metodo specificando il tipo parametrico sul quale intediamo eseguire il metodo stesso, in questo modo: MyTestClass myObject; ... myObject.MetodoGenerico(); E se avessimo bisogno di invocare questo metodo tramite Reflection? Basta utilizzare la "MakeGenericMethod" della classe System.Reflection.MethodInfo come segue: MethodInfo methodInfo = typeof(MyTestClass).GetMethod("MetodoGenerico");
methodInfo = methodInfo.MakeGenericMethod(MyTypeClass);
methodInfo.Invoke(this, null);
o in Visual Basic: Dim invokeArgs(0) as System.Type = MyTypeClass
Dim methodInfo As MethodInfo = MyTestClass.GetMethod("MetodoGenerico")
methodInfo = methodInfo.MakeGenericMethod(invokeArgs)
methodInfo.Invoke(MyTestClass, Nothing)
e il gioco è fatto! |
||
|
||






