{
//这里释放托管资源
if (_myStream != null)
_myStream.Close();
}
//这里释放非托管资源
}
finally
{
base.Dispose(disposing);
}
//这句可以不加。
_disposed = true;
}
}
}
5、.Net开发几点性能和设计问题的建议:
5.1 避免在一个大的循环里面执行装箱和拆箱操作。解决办法是利用泛型如List<T>取代ArrayList。
ArrayList list = new ArrayList();
for (int i = 0; i < 10000;i++ )
{
//装箱
list.Add(i);
//拆箱
Debug.WriteLine(list[i].ToString());
}
5.2 对于复杂的事件交互的系统,在每个类被终结前确保其已经注销所有事件。否则及易发生内存泄露。这种情况在.Net和COM互操作中经常出现,如ArcObject的各种事件。
5.3 对于工具类如WorkspaceHelper(封装AO的工作空间操作的类)应该做到简单和易于理解,不要把Helper和Utility类当作大杂烩,什么方法都往里面放,这将导致代码非常难以修改。工具类的方法大都为静态方法,该类也为静态类。尽量不要把类设计为静态类,一旦设计成静态类,将无法利用多态的优势。
来自:http://www.cnblogs.com/wobushixiaocai/archive/2008/04/17/1157722.html