ArcGIS SDK for .Net咋就不能自动释放对象呢

三天来一直被一个问题困扰着,新建了一个raster文件,立马写进数据,这个也不算是什么复杂的功能,以前没有用过raster方面的接口,看看例子也就写出来了,但是新建的空文件8k,填写了数据后发现还是8k,断点看看也已经运行了,没有错,让人不得其解。郁闷的不行,想关机睡觉。在关机前突然发现文件变大了,数据有了。第二天仔细调试了一下发现每次都是等关闭了程序文件才增大。看来有东西没有释放,以前做Feature相关的事情的时候知道cursor,workspace什么的要释放,前两天已经这么做了,问题依然,整个人要抓狂,知道刚才把所有的对象都ReleaseComObject了一下,终于正常了,于是一个一个对象的试验,终于找到了那个关键的对象,IRasterEdit,真是无语,ESRI在这方面做的很不地道,.net下面COM对象不能自动释放,那也罢了,至少应该在文档里面列出来哪些接口需要显式释放吧,这样让人漫无目的的试验总不是办法,想当年在从8.3换到9.0时候不知道需要释放Cursor,发现search多了ESRI数据库会断开不能显示图片,问了冶成彬才知道这个问题,说明当时他们已经意识到了,但是这么多年文档里面还是没有列出需要释放的接口,真是很不爽。

原文地址:https://www.cnblogs.com/Brune/p/1502358.html