方法处理功能c#

本文关键字:功能 处理 方法 | 更新日期: 2023-09-27 18:01:51

在c# 2010中有没有一种方法可以在不使用try-finally块的情况下处理方法变量?4)净吗?

的故事:我有几个文件处理程序方法。每个处理程序(方法)都可以在执行过程中中止。我喜欢在退出方法之前处理方法的所有对象。没有为每个处理程序组合处置方法的选项。

谢谢

这演示了总体思路:公共静态类比较{私有静态bool compararexml(…){//有7个对象根据4个条件在3个出口点处理

        //General method flow:
        //1. init part of the object
        //2. if(!<condition1>)
                //disposed objects
                //exit method
        //3. perform some actions
        //4. init some of the other objects
        //2. if(!<condition2>)
                //disposed objects
                //exit method
        //and so on...
    }
    private static bool CompareJpgs(...)
    {
        //has 12 object to be disposed in 10 exit points acordding to 4 conditions
    }
    private static bool CompareBitMaps(...)
    {
        //has 5 object to be disposed in 3 exit points acordding to 4 conditions
    }
    private static bool CompareTxts(...)
    {
        //has 12 object to be disposed in 10 exit points acordding to 4 conditions
    }
}`

我还有另外7种比较方法

方法处理功能c#

using ?有关如何以及为什么使用http://msdn.microsoft.com/en-us/library/yh598w02(v=VS.100).aspx的完整描述,请参阅此处。例如

using (MyDisposableType disposable1 = GetDisposable1(), disposable2 = GetDisposable2() /*,...*/)
{
    //your actions
}

退出using块后,在其头文件中声明的所有可丢弃对象都将被丢弃。

如果你的一次性对象是不同类型的,你可以使用嵌套的using s:

using (MyDisposableType1 disposable1 = GetDisposable1())
{
    using (MyDisposableType2 disposable2 = GetDisposable2())
    {
        //more usings if needed, and then your actions
    }
}

我将把该方法放在一个实现了idispossible的对象上,并在finally块中调用this.dispose()