如何删除重复的using语句?

时间:2015-03-14 17:57:13

标签: c# .net

我有很多方法可以执行以下操作:

using(var cn = new Connection())
{
    //custom code
}

有没有办法我仍然可以使用using,但只需调用我的自定义代码?

2 个答案:

答案 0 :(得分:2)

如何创建新方法封装您的using-block并将action-delegate置于其中?

static void Main(string[] args)
{
    doCustomCode(() =>
    {
        Console.WriteLine("customCode #1");
    });

    doCustomCode(() =>
    {
        Console.WriteLine("customCode #2");
    });
}

private static void doCustomCode(Action action)
{
    using (var con = new Connection())
    {
        action();
    }
}

如果您需要比简单操作更具体的东西,只需修改相应的参数。

答案 1 :(得分:0)

您可以使用以下任何一项:

  1. 将自定义代码包装在方法中。
  2. 使用try { } finally { }
  3. 使用代理进行Aspect-Orientanted-Programming
  4. 使用IL编辑器,如PostSharp