Универсальный тип родительского класса

Здравствуйте.
То ли я чего то замудрил то ли что.
В общем есть у меня базовый класс с универсальным типом:
внутри там есть некоторые методы общие, буферы и прочая лабуда.

public class Calibrator<T>
    {}

Далее я создаю два производных класса:

public class Calibrator1 : Calibrator<FrameInfo>
    {}
public class Calibrator2 : Calibrator<AxisInfo>
    {}

Каждый работает со своим типом данных, со своими методами.

Так вот в основной форме я хочу сделать общий объект для этих классов:

Calibrator  ActiveCalibrator;

Но студия требует чтобы я указал тут тип данных. Но я хочу чтобы это определялось только в ходе работы программы. Какой пользователь выберет тот и был активным.

Пробовал создать так:

Calibrator<dynamic>  ActiveCalibrator;

Но тогда он ругается при создании экземпляра классов.

ActiveCalibrator = new  Calibrator1 (50); не удается явно преобразовать тип.

Как поступить то правильно??

Можно наследовать от не дженерик класса. Или интерфейс.
https://stackoverflow.com/a/353134