摘要: 装箱(boxing)机制是一个值得单独拿出来讨论的话题,因为忽略它,我们会在不知不觉间犯下很大的错误。 先说说装箱的过程:会先在堆中分配好内存,该内存大小为值类型所有字段和添加的类型对象指针以及同步块索引所需的字节,然后将值类型字段复制到这块新分配的内存中,接着返回对象的地址值,即该对象的引用。 拆箱并不是装箱的逆操作:拆箱只是获取一个引用,该引用指向值类型的字段,它并不要求复制字段,复制字段实际上拆箱之后的动作,但这个动作是一定会发生。 装箱设计到字段的复制,所以需要特别小心。但C#中有一个隐式装箱机制,使得我们很多时候防不胜防。所以,最好的做法就是显式的进行转换,而不是交给编译器。 如果. 阅读全文
posted @ 2013-03-16 18:46 GIS_Darren 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 今天在单位做图层合并的工作,刚开始找不到相应的接口,现在解决了,放出来与大家共享本程序实现了对具有同类型数据结构的shapefile的图层合并,并在MapControl中显示. ILayer pLayer; IFeatureLayer pFeatureLayer; IFeatureClass pFeatureClass; IWorkspaceName pNewWSName; IBasicGeoprocessor pBasicGeop; IFeatureClassName pFeatureClassName; IDatasetName pDatasetName; IFeatureClass pO 阅读全文
posted @ 2013-03-16 18:43 GIS_Darren 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 结合help中给的例子,又使用DisPlayFeedBack,实现在鹰眼中拖动。拖动过程中小边框的显示问题解决的不是很好,还望大家多多指教。实现如下:两个MapControl控件:axMapControl1和axMapControl2,axMapControl2存放鹰眼地图。主要变量有:private IEnvelope m_Envelope; //The envelope drawn on the small MapControl---axMapControl2.private System.Object m_FillSymbol; //The symbol used to draw the 阅读全文
posted @ 2013-03-16 18:42 GIS_Darren 阅读(292) 评论(0) 推荐(0) 编辑
摘要: axMapControl1是主控件,axMapControl2是鹰眼控件要看清楚事件响应1.鹰眼地图资源载入privatevoid axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e) { //当主地图显示控件的地图更换时,鹰眼中的地图也跟随更换 axMapControl2.LoadMxFile(axMapControl1.DocumentFilename); axMapControl2.Extent = axMapControl2.FullExtent; }2.绘制鹰眼矩形框pr 阅读全文
posted @ 2013-03-16 18:41 GIS_Darren 阅读(317) 评论(0) 推荐(0) 编辑
摘要: ArcGIS Engine对象库System库是ArcGIS结构中最低级的对象库。该库包含了揭示ArcGIS中其他对象库所使用的服务的组件。SystemUI库主要定义了ArcGIS系统中所使用的用户界面组件的类型。Geometry库包含了核心几何对象,如点、多边形、线及其几何类型和定义等。Display库包含了支持向输出装置绘制符号体系的组件。Server库包含了用于获取到ArcGIS Server的连接的对象。该连接通过本库中的对象进行管理。Output库包含了生成输出所必需的对象,通常是从地图或页面布局输出到打印机、绘图仪,或者导出到文件中。Geodatabase库包含了所有与数据访问相关 阅读全文
posted @ 2013-03-16 18:40 GIS_Darren 阅读(260) 评论(0) 推荐(0) 编辑
摘要: ServerConnection:用于连接Arcgis Server服务器.IMapServer:开发Arcgis Server项目中使用频率最高的接口之一.用于封装服务器对象.一些查询,计算距离和比例尺等功能都在该接口下.IServerContext:服务器上下文对象.需要用它来创建AO对象.并用WebObject管理其生命周期.IMapDescription:地图的状态.由于Arcgis Server是无状态的.当我们需要保存状态的就是就在Session中保存它就可以了.此外,它还代表Arcmap中所配置的mxd的信息.IImageDisplay:描述地图的大小和分辨率.IMapExten 阅读全文
posted @ 2013-03-16 18:39 GIS_Darren 阅读(750) 评论(0) 推荐(0) 编辑
摘要: 对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。问题一:我声明了什么!String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。这 个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向"H 阅读全文
posted @ 2013-03-16 18:38 GIS_Darren 阅读(169) 评论(0) 推荐(0) 编辑