Then you will need to use reflection to get the method and call it. Arguments of a general type must be allowed to compile time if you intend to declare an object of this type:
Type t= GetTypeAtRuntime();;
var doSomething = typeof(List<>).MakeGenericType(t).GetMethod("DoSomething", BindingFlags.Static | BindingFlags.Public);
doSomething.Invoke(null, new object[] { });
However, in your example, T is not used in the signature or implementation of the method, and if in this case I would move it to a non-generic base class.
: , , , mpore, . static/generic