用到了一些资源需要在dispose的时候释放,于是重写dispose方法,提示已经定义了一个名为“dispose”的具有相同参数类型的成员
public partial class Form1 : Form
{
Thread mythread ;
Socket socket;
private override void Dispose(bool disposing) //cs0111错误。已存在dispose
{
socket.Close();//释放资源
mythread.Abort();//中止线程
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
public Form1()
{
InitializeComponent();
}
......
}
在system.windows.forms空间中的form对象的dispose方法如下:
protected override void Dispose(bool disposing)
为啥没有办法重写?
public partial class Form1 : Form
{
Thread mythread ;
Socket socket;
private override void Dispose(bool disposing) //cs0111错误。已存在dispose
{
socket.Close();//释放资源
mythread.Abort();//中止线程
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
public Form1()
{
InitializeComponent();
}
......
}
在system.windows.forms空间中的form对象的dispose方法如下:
protected override void Dispose(bool disposing)
为啥没有办法重写?
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
你如果自己再添加一个的话,那么必然会报错误 1 类型“WindowsApplication1.Form1”已定义了一个名为“Dispose”的具有相同参数类型的成员 C:\Documents and Settings\Administrator\桌面\WindowsApplication1\WindowsApplication1\Form1.Designer.cs 14 33 WindowsApplication1
这个错误。
如果非要自己写这个的话,可以到你的designer.cs中修改已有的代码,或者再写一个重载方法。
不知道说清楚没有。