如何将值与函数调用相关联?

时间:2016-08-14 22:44:48

标签: c#

很多时候我不得不做类似的事情:

if (value == certainValueA) call functionA()
if (value == certainValueB) call functionB()

我一直这样做。但是现在我有50多个这样的案例,这种方式看起来很糟糕。

我想要一种更有效的方法。解决方案可能已有详细记录,但到目前为止,我用来查找这些内容的单词组合并没有返回任何有趣的结果。

我主要需要指明要研究的内容。

1 个答案:

答案 0 :(得分:6)

您可以使用填充代表的词典;类似的东西:

var dispatch = new Dictionary<TypeOfValue, Action>() {
    { certainValueA, () => functionA() },
    { certainValueB, () => functionB() },
};

TypeOfValue value = // get value here   

dispatch[value]();