class A { public static void M<T>() { ... } } ... Type type = GetSomeType();
Then I need to call AM<T>() where type == typeof(T) .Reflection?
AM<T>()
type == typeof(T)
Yes, you need a reflection. For instance:
var method = typeof(A).GetMethod("M"); var generic = method.MakeGenericMethod(type); generic.Invoke(null, null);
Since the type is known at run time, you need to use reflection:
Type type = GetSomeType(); var m = typeof(A) .GetMethod("M", BindingFlags.Static | BindingFlags.Public) .MakeGenericMethod(type); m.Invoke(null, null);