是否有可能以这种方式设计一个方法,它知道它必须在退出时自动连续调用下一个方法?
在下面的示例中,我必须调用 Refresh()
以使我的表单在此事件发生后重新绘制。问题是,在例如 20 个必须使表单刷新的不同事件之后调用 Refresh()
是很丑陋的。例如
private void PriorityLine_Click(object sender, EventArgs e)
{
_showPriorityLine = (_showPriorityLine) ? false : true;
Refresh(); // Must call refresh for changes to take effect.
}
我想我正在寻找的是某种签名,我可以将其应用于该方法以使其自动链接到下一个方法,而不管它是从哪里调用的。例如
(我知道这在语法上不正确。)
private void PriorityLine_Click(object sender, EventArgs e).Refresh()
{
_showPriorityLine = (_showPriorityLine) ? false : true;
}
我想将方法的接口(interface)与方法中包含的逻辑分开。我知道这将是确切的努力量,如果不是更多的话。例如,如果我要编辑方法并且不小心删除了 Refresh,它会导致我的应用程序中断。然而,如果 Refresh 方法在该方法的实际逻辑之外,我可以在该方法内执行任何操作,而不必担心删除下一个逻辑链。
最佳答案
听起来你想要的是面向方面的编程,有许多不同的框架可以让你在运行一些方法集后“神奇地”发生一些事情,看看这里 AOP programming in .Net?
关于c# - 一种更简洁的方法来自动调用一个又一个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4829705/