Ho questo piccolo problema, che non riesco a capire quali argomenti passare a Type.GetMethod per recuperare il MethodInfo di un metodo generico su un tipo non generico. Specificamente, ho questa definizione tipo:Come ottenere MethodInfo di un metodo generico su un tipo .NET non generico?
public static class A
{
public static B F<T>(bool dummy)
{
}
public static B F<T>(IEnumerable<T> arg)
{
...
}
}
Ho provato diversi prende a Type.GetMethod, ma nessuno restituirebbe MethodInfo del metodo F.
Sono consapevole del fatto che posso richiamare Type.GetMethods o anche Type.FindMember, ma sono interessato a Type.GetMethod.
Qualche idea?
Grazie.
EDIT
In realtà, il mio codice è un po 'più complessa. Il metodo generico è sovraccarico, quindi non posso usare Type.GetMethod con solo il nome della funzione. Ho provato queste varianti:
typeof(A).GetMethod("F", BindingFlags.Static | BindingFlags.Public, null, new Type[]{ typeof(IEnumerable<>) }, null)
typeof(A).GetMethod("F`1", BindingFlags.Static | BindingFlags.Public, null, new Type[]{ typeof(IEnumerable<>) }, null)
typeof(A).GetMethod("F[T]", BindingFlags.Static | BindingFlags.Public, null, new Type[]{ typeof(IEnumerable<>) }, null)
typeof(A).GetMethod("F[[T]]", BindingFlags.Static | BindingFlags.Public, null, new Type[]{ typeof(IEnumerable<>) }, null)
Si prega di inviare il codice che hai provato. –
Modificata la mia domanda. Grazie. – mark
@ Marco Ho cambiato la mia risposta. –