At present I'm having to do something like this to build a Type definition at runtime to pass to my IOC to resolve. Simplified:

Type t = Type.GetType(
"System.Collections.Generic.List`1[[ConsoleApplication2.Program+Person");

I know the generic type argument at runtime only.

Is there something that will allow me to do something like this (fake code):

Type t = Type.GetTypeWithGenericTypeArguments(
    typeof(List)
    , passInType.GetType());

Or shall I just stick to my hack, passInType.GetType() convert to string, build generic type string.. feel dirty

Edit
Report