我有以下方法:
Label LabelFactory(string template, object id) {
Label label = GetLabelTemplate(template);
if (label == null) throw new Exception("Unknown Label type or Label cannot be loaded.");
switch (template) {
case "BTAC":
label.Data = GetDataForLabel<BTAC>(id); break;
case "KTAC":
label.Data = GetDataForLabel<KTAC>(id); break;
...
}
return label;
}
调用网站不了解类型(BTAC,KTAC等),因此我必须使用此模板参数。但是,我不喜欢这个开关。是否有任何优雅的方式来替代它?
欢迎任何想法。
答案 0 :(得分:0)