【发布时间】:2019-09-27 16:30:03
【问题描述】:
有没有办法转换这个 if/else 语句,以便在不使用反射的情况下以更动态的方式调用它?
if (left.IsColliding()) directions.Remove(Direction.Left);
else directions.Add(Direction.Left);
在 JavaScript 中我可以执行以下操作,我想知道 C# 中是否有类似的东西。
directions[left.IsColliding() ? "Remove" : "Add"](Direction.Left);
【问题讨论】:
-
有很多可用的源代码混淆器可以更彻底、更有效地实现相同的效果。
-
这可能更适合Code Review。
-
@EdPlunkett 好的,谢谢。
-
如果你有一个大的逻辑序列,也许责任链模式概念的简单应用会有所帮助。
标签: c#