访问实例未被IDisposable的用户代码引用到"使用"声明

时间:2017-04-01 00:22:16

标签: c# reflection

我有这段代码:

using(var a = myFunction()){

    a.Process();

}

有一种方法可以将未定义的实例(上例中的a)引用到using语句中吗?

我的意思是,写一些像:

using(myFunction()){

    [Reflection?, another stuff?].Process();

}

[Reflection?, another stuff?]应该等同于a

我确信,实例(myFunction()返回的值)存在于using范围内,因为Dispose()的方法IDisposable被正确触发。

一些线索?

2 个答案:

答案 0 :(得分:1)

如果您想使用myFunction的结果,您应该通过声明变量来使用它。

myFunction可以返回null。您可以将Process定义为myFunction返回值类型的扩展方法。这样您就可以忽略null而不会获得任何空引用异常。

答案 1 :(得分:1)

我想你可以将最后创建的实例放在静态字段中。我希望你不要同时多次这样做。

$(function(){
   $(document).foundation(); 
});