c# - 在编译时显示与 C# 中方法实现相关的自定义警告

标签 c# .net

在当前上下文中,我们有两个方法 Start 和 Stop。这两个方法是从函数中顺序调用的。一个人有可能只在他的方法中调用 Start(),但忘记调用 Stop()。例如

private void A()
{
  Start();

  //Buisness logic goes here

}

在这种情况下,当编译代码时,需要显示警告或错误,通知每个 Start() 都应该有一个相应的 Stop()。有人可以建议如何在 C# 中实现相同的想法吗?

正确的实现方式是

private void A()
{
  Start();

  //Buisness logic goes here

  Stop();

}

最佳答案

我建议您更改模式以处理StartStop,而无需将其暴露给程序员。

将实现 StartStop 的类更改为实现 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/

相关文章:

c# - datagridview 添加行

c# - IComparable 和 IComparable<T>

c# - 不同的线程在 WPF 中拥有它

c# - 在离开页面之前检查字段数据是否更改

.net - 使用 .NET 中的特定 DNS 服务器查询 DNS

c# - 将列表分解为一组索引列表

c# - 使用 C# 中的 OAuth 验证应用程序

.net - 什么时候 "Try"方法优于 "null"结果?

c# - 检索由 BlockCopy 压缩的数组

.net - 如何在 .NET 中实现正确的存储库模式