在当前上下文中,我们有两个方法 Start 和 Stop。这两个方法是从函数中顺序调用的。一个人有可能只在他的方法中调用 Start(),但忘记调用 Stop()。例如
private void A()
{
Start();
//Buisness logic goes here
}
在这种情况下,当编译代码时,需要显示警告或错误,通知每个 Start() 都应该有一个相应的 Stop()。有人可以建议如何在 C# 中实现相同的想法吗?
正确的实现方式是
private void A()
{
Start();
//Buisness logic goes here
Stop();
}
最佳答案
我建议您更改模式以处理Start
和Stop
,而无需将其暴露给程序员。
将实现 Start
和 Stop
的类更改为实现 Execute
方法,甚至不公开 Start
& 停止
。
public class MyClass
{
private void Start(){} // old public method
private void Stop(){} // old public method
public void Execute(Action action)
{
Start();
action();
Stop();
}
}
用法:
var impl = new MyClass();
impl.Execute(() => {
// do something in between start & stop
});
关于c# - 在编译时显示与 C# 中方法实现相关的自定义警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42922340/