Я хотел бы передать тип, сгенерированный во время выполнения (через TypeBuilder) в универсальный метод в универсальном классе. Я не могу передать его как объект, так как отражение используется для поиска различных свойств.
Как я понимаю, это невозможно сделать, так как генерики применяются во время компиляции, а не во время выполнения.
Я знаю, что могу изменить метод, например
public T Read()
{
T data = new T()
...
return data;
}
быть чем-то вроде
public object Read(Type newType)
{
object data = Activator.CreateInstance(newType);
...
return data;
}
но это, очевидно, теряет все преимущества обобщенных типов, когда тип известен, поэтому я, вероятно, закончу оба метода, что, к сожалению, означает также дублирование довольно многих других вспомогательных функций.
Есть ли лучший способ решить эту проблему?
Этот конкретный проект должен работать в рамках 3.5, но если это невозможно в 3.5, но под 4.0, я не возражаю, зная.