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;
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 # должен быть хуже ?!