C# get the the type Generic<T> given T
c#, generics, types
Solution
Yes, you can:
Type requiredT = ...
Type genericType = typeof(GenericClass<>);
Type wantedType = genericType.MakeGenericType(requiredT);
This will give you the `GenericClass<T>` Type object, where T corresponds to your `requiredT`.
You can then construct an instance using `Activator`, like this:
var instance = Activator.CreateInstance(wantedType, new Object[] { ...params });
Problem
I have a generic class in C#, like this: ``` public class GenericClass<T> { ... } ``` Now, I have the `Type` object for an object, and would like to, through reflection or otherwise, to get the `Type` object for `GenericClass<T>` where T corresponds to that Type object I have my object. Like this: ``` Type requiredT = myobject.GetType(); Type wantedType = typeof(GenericClass<requiredT>); ``` Obviously this syntax doesn't work, but how do I do it?