Anu*_*uya 2 c# destructor idisposable finalizer
在以下代码中获得上述错误.如何纠正它.谢谢.请找
protected override void Finalize() { Dispose(false); }
Run Code Online (Sandbox Code Playgroud)
在下面的代码中.
using Microsoft.Win32;
using System.Runtime.InteropServices;
public class Kiosk : IDisposable
{
#region "IDisposable"
// Implementing IDisposable since it might be possible for
// someone to forget to cause the unhook to occur. I didn't really
// see any problems with this in testing, but since the SDK says
// you should do it, then here's a way to make sure it will happen.
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (disposing) {
}
// Free other state (managed objects).
if (m_hookHandle != 0) {
UnhookWindowsHookEx(m_hookHandle);
m_hookHandle = 0;
}
if (m_taskManagerValue > -1) {
EnableTaskManager();
}
}
protected override void Finalize()
{
Dispose(false);
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
Iga*_*nik 12
Finalize()是一种无法在代码中覆盖的特殊方法.请改用析构函数语法:
~Kiosk()
{
Dispose(false);
}
Run Code Online (Sandbox Code Playgroud)
做它说的.代替:
protected override void Finalize()
{
Dispose(false);
}
Run Code Online (Sandbox Code Playgroud)
有:
~Kiosk ()
{
Dispose(false);
}
Run Code Online (Sandbox Code Playgroud)