Ваш вопрос неясен, но если я правильно понимаю, что вы пытаетесь сделать, вам просто нужно добавить ограничение where T : IActiveRecord
. Тогда вы можете сказать
void AddRecord<T>() where T : IActiveRecord, new() {
IActiveRecord activeRecord = new T();
// more stuff
}
Относительно вашей линии
IActiveRecord ActiveRecord = (IActiveRecord)T;
это не законно. T
- это параметр типа, а не выражение, которое вы можете привести.