I am looking to create a List, where the type of T is several unrelated classes (with the same constructor arguments) that I know through reflection.
Dat
You're confusing types and the System.Type class for Generic Type Parameters, here is the code to implement it the way you want:
var lt = typeof(List<>);
foreach (Type T in Types)
{
var l = Activator.CreateInstance(lt.MakeGenericType(T));
DataBase.Add(l);
}
You could... use List<object>
(if you know that your type is a reference type, or boxing is acceptable); or create a List via reflection.
You can use reflection:
List<object> database = new List<object>();
foreach (Type t in Types)
{
var listType = typeof(List<>).MakeGenericType(t);
database.Add(Activator.CreateInstance(listType));
}