我正在寻找一个好的做法/想法,如何为我的解决方案编写一个干净的代码。 我们说我上课了Foo:
public class Foo
{
public SomeEnumType Type { get;set; }
....
}
我得到了这些元素的列表,如:
List<Foo> Foos
现在我想迭代我的列表并为任何EnumType调用不同的方法。现在我只是做这样的事情:
foreach (var x in Foos)
{
if (x.Type == XXX)
invoke first();
else if (x.Type == YYY)
invoke second();
.....
}
如果我的TypeEnum中有一个或两个值,看起来没问题,但不幸的是我会有~~ 30而且我认为它会看起来很糟糕~~ 30其他。如何让它变得更好?有没有人以前遇到过这样的问题?
答案 0 :(得分:1)
您可以使用Dictionary<SomeEnumType, Action>
var actions = new Dictionary<SomeEnumType, Action>()
{
{ SomeEnumType.SomeVal, ()=>{ Console.WriteLine("test"); } }
};
actions[SomeEnumType.SomeVal]();