2013-04-03 55 views
0

我正在处理j#UI代码转换为C#的projact。 旧代码(J#)有一个类继承的形式,和方法:c#窗体覆盖处理问题

public void dispose() 
{ 
    super.dispose(); 
    components.dispose(); 
} 

从改变后的进口:com.ms.wfc.uisystem.windows.form编译器要求我 变化super.dispose()super.Dispose()。 (与组件相同)。

我的问题是如果我需要改变上面的方法为Dispose以及?我想如果我不改变它,dispose()将不会打电话这种形式是关闭

回答

1

你不需要要将Dispose方法声明为override,如果将其更改为Dispose(),就足够了。

public class MyClass : IDisposable 
{ 
    public void Dispose() 
    { 
     // Perform any object clean up here. 

     // If you are inheriting from another class that 
     // also implements IDisposable, don't forget to 
     // call base.Dispose() as well. 
    } 
} 

下面是使用C#中的Dispose一个很好的教程:http://www.codeproject.com/Articles/15360/Implementing-IDisposable-and-the-Dispose-Pattern-P

1

C#区分大小写。如果你想覆盖形式的IDisposable接口方法的实现,您必须编写与大写字母:

public void Dispose() 
{ 
    //... 
} 

希望,我的理解正确你的问题......