ArcGIS Engine开发中对于对象使用,每一个对象都会分配一块内存,在有些应用中想要做到对象的完全复制,希望重新分配一块新的内存来对该对象进行操作,就要用到IObjectCopy接口。能够通过IObjectCopy接口进行复制的必须能够转换成IPersistStream。可以有效的避免“尝试读取或写入受保护的内存,这通常指示其他内存已损坏”这样的错误。样例
IObjectCopy objectcopy = new ObjectCopyClass();
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);