说
我有以下几点:
public abstract class ControlLimitBase : Idisposable
{
}
public abstract class UpperAlarmlimit : ControlLimitBase
{
}
public class CdsUpperAlarmlimit : UpperAlarmlimit
{
}
两个问题:
1.
当我的Idisposable会员实际上被呼叫时,我有些困惑.当CdsUpperAlarmlimit的实例超出范围时,它们会被调用吗?
2.
如何处理在CdsUpperAlarmlimit类中创建的对象?这是否也可以从Idisposable得到?
dispose()不会
自动调用 – 这取决于
代码实际使用的方式.
当你专门调用dispose()时,调用dispose():
myAlarm.dispose();
2.)使用您的类型的实例在使用块的末尾调用dispose().
using(var myAlarm = new CdsUpperAlarmlimit())
{
}
使用块是一个try / finally块的语法糖,在finally块中的对象“被使用”上调用dispose().