- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
public TOscillPanel getOscillPanel(String nameTable, XmlNodeList parameters, String idCHPU)
{
var actions=new Dictionary<string, object>
{
{"addParamOscill", new Action<string, string>(addParamOscill)},
{"removeParamOscill", new Action<string, string>(removeParamOscill)},
{"includeRealTimeMode",new Action<string>(includeRealTimeMode)}
};
return (new TOscillPanel(nameTable, parameters, actions));
}
//...
((Action<String, String>)_actions["addParamOscill"])(_tableChpu, ((TOptionNode)_oscillTreeView.Nodes[0]).getId());
((Action<String, String>)_actions["addParamOscill"])(_tableChpu, idParameters);
}
else
{
((Action<String, String>)_actions["removeParamOscill"])(_tableChpu, ((TOptionNode)_oscillTreeView.Nodes[0]).getId());
((Action<String, String>)_actions["removeParamOscill"])(_tableChpu, idParameters);
}
Это практически единственные и основные упоминания в коде контейнера _actions.
Говорила же мне мама: "возьми динамически типизированный язык", а я её не слушал. Не мне конечно же. Код из очень крупного частного проекта.
Динамически типизированный язык тут конечно же не нужен. Просто создаем трудности, а потом стоически их решаем.
guest 19.06.2012 20:04 # +5
"Не пей из копытца, козлёночком станешь".
bormand 19.06.2012 20:23 # +1
Именно. Вместо этих _actions["removeParamOscill"](...) гораздо лучше бы смотрелось actions.removeParamOscill(...).
Steve_Brown 20.06.2012 10:17 # +1
HaskellGovno 20.06.2012 13:04 # +1
Юзай class с именованными полями, например:
Инициализируй поля Actions в конструкторе.
Steve_Brown 20.06.2012 14:47 # +2
(?)
HaskellGovno 20.06.2012 14:55 # +5
guest 22.06.2012 09:26 # −5