2
阅读this MSDN article,我碰到的是简单的例子,这因为我对一些原生的C做一些RAII类++接口做整个作业真能胜任我就来了:(我做的第一次)为什么Finalize应该被保护?
ref class Wrapper {
Native *pn;
public:
// resource acquisition is initialization
Wrapper(int val) { pn = new Native(val); }
// this will do our disposition of the native memory
~Wrapper(){ delete pn; }
void mfunc();
protected:
// an explicit Finalize() method—as a failsafe
!Wrapper() { delete pn; }
};
这个类完全符合我迄今为止所写的内容。除此之外,我还没有实现Finalize方法。但是,在想知道它的特性和用法,以及在我能够更深入地掌握它之前,我想知道是否将Finalizer方法放在受保护的范围内是一般用途和良好习惯。