好的,我确实有一个关于在WinForms应用程序中实现接口的问题。基本上我有一个我建立的控件库。每个控件都定义了一个与主窗体交互的接口。
我一直在做的是创建一个属性处理程序,它是接口的类型,然后像这样做。
在控件上:
public interface ITest {
void Test1();
void Test2();
}
private ITest _testHandler;
public ITest TestHandler {
get { return _testHandler; }
set { _testHandler = value; }
}
在主窗体上:
public MainForm : Form, MyControl.ITest {
public MainForm() {
InitializeComponent();
MyTestControl.TestHandler = this;
}
// Implementing methods here...
}
界面工作正常。我很好奇为什么它为每个人占用了这么多公羊。我不认为接口应该真正影响性能。
答案 0 :(得分:1)
接口不占用内存;数据呢。你实现的类(以及其他东西)是实际占用内存的东西。
我会寻找一个内存分析器,它可以帮助你缩小占用大量内存的内容。您可能会反复创建不必要的对象,并且可以通过工厂模式进行改进,以便缓存可以重复使用的对象。
Viausl Studio(我认为Premium和Ultimate版本)有一个性能向导,包括内存分析(在VS 2010和2012的分析菜单下)
我使用Ants Memory Profiler并喜欢它,但它不是免费的。然而,它确实有一个为期14天的免费试用版,可以让你超越驼峰。