ArcGIS对象深度复制

0
分享 2014-07-21
ArcGIS Engine开发中对于对象使用,每一个对象都会分配一块内存,在有些应用中想要做到对象的完全复制,希望重新分配一块新的内存来对该对象进行操作,就要用到IObjectCopy接口。能够通过IObjectCopy接口进行复制的必须能够转换成IPersistStream。可以有效的避免“尝试读取或写入受保护的内存,这通常指示其他内存已损坏”这样的错误。样例
IObjectCopy bjectcopy = newObjectCopyClass();
object toCopyLayer = MainMapControl.get_Layer(i);
object copiedLayer = objectcopy.Copy(toCopyLayer);
ILayer C = (new FeatureLayerClass()) as ILayer;
object toOverwriteLayer = C;
objectcopy.Overwrite(copiedLayer, ref toOverwriteLayer);
OverViewMapControl.AddLayer(C, i);

文章来源:http://blog.csdn.net/sydbc/article/details/17101689

0 个评论

要回复文章请先登录注册