Delphi Class of C #

Я знаю, что этот вопрос задавался ранее, но я еще не получил краткого и ясного ответа, поэтому я надеюсь, что они не уберут этот вопрос, и теперь я получу четкий ответ:

В настоящее время я работаю в C # 5.0; .NET 4.5; VS 2012. Я в основном парень из Delphi, хотя я много работал с C #.

В Delphi я написал сотни фабрик классов, в которых используется следующий вид дизайна (МНОГО упрощенного здесь):

unit uFactory;

interface


type

    TClassofMyClass = class of TMyClass;
    TFactoryDict = TDictionary<TMyEnum, TClassofMyClass>;

var fDict:TFactoryDict;

implementation  

procedure initDict;
begin

    fDict:=TFactoryDict.create;
    fDict.add(myEnum1, TMyClass1);
    fDict.add(myEnum2, TMyClass2);
    fDict.add(myEnum3, TMyClass3);

end;


function Factory(const aEnum: TMyEnum): TMyClass;

var

    ClassofMyClass: TClassofMyClass;

begin

    if fDict.TryGetValue(aEnum, ClassofMyClass) then

    result := ClassofMyClass.Create(aParam);

end;

end.

Теперь: КАК мне сделать что-то подобное в C # ?! Кажется естьНЕТ «класс» типа в C #. Я что-то пропустил? Как я могу просто и элегантно реализовать этот тип фабрики классов в C #? Этот дизайн также может быть реализован на Python - почему C # должен быть хуже ?!

Ответы на вопрос(4)

Ваш ответ на вопрос