C#-ArcEngine 图层属性查询的部分代码

privateAxMapControlm_MapCtl;ILayerpLayer=m_MapCtl.get_Layer(0);IFeatureLayerpFLayer=p... private AxMapControl m_MapCtl;
ILayer pLayer=m_MapCtl.get_Layer(0);
IFeatureLayer pFLayer=pLayer as IFeatureLayer;//as 起到什么作用?
IFeatureClass pFC = pFLayer.FeatureClass;
IFeatureCursor pFCursor = pFC.Search(null, false);
这几句话中ILayer、IFeatureLayer、IFeatureClass 、IFeatureCursor都是普通类吗?他们之间有什么联系吗?这几句话都是什么意思?希望大侠们给个注释把!!
展开
 我来答
llinkin
2010-06-05 · TA获得超过182个赞
知道小有建树答主
回答量:328
采纳率:0%
帮助的人:348万
展开全部
首先as是类型转换的意思,是引用类型的显示转换,一楼说的很详细了。
ILayer、IFeatureLayer、IFeatureClass 、IFeatureCursor都不是普通类,你见过类前面有I吗??呵呵,这些都是接口,把msdn上ILayer的介绍你看下:
Provides access to members that work with all layers. Note: the ILayer interface has been superseded by ILayer2. Please consider using the more recent version.

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.
Description

ILayer is a generic interface for all layer objects. This interface has a method to draw the layer and provides access to generic layer properties.
建议多看看msdn吧。
这几句话的意思,楼上说的也都差不多了,我就不补充了。
曷凡
推荐于2018-04-13 · TA获得超过936个赞
知道小有建树答主
回答量:497
采纳率:0%
帮助的人:560万
展开全部
pLayer as IFeatureLayer
这其实是VB过来的语法,表示强制转换
相当于(IFeatureLayer)pLayer
将pLayer强制转换为IFeatureLayer
因为在打开远程数据时必须使用IFeatureLayer
-----------------------------------------------------------
private AxMapControl m_MapCtl;
//这句不用解释吧

ILayer pLayer=m_MapCtl.get_Layer(0);
//获得这个控件中的第0个图层

IFeatureLayer pFLayer=pLayer as IFeatureLayer;//as 起到什么作用?
//已经解释

IFeatureClass pFC = pFLayer.FeatureClass;
//将图层转换成要素类,为后来的数据过滤做准备

IFeatureCursor pFCursor = pFC.Search(null, false);
//这个应该是过滤作用的

//我说的专业术语可能不准确,但是意思是这个意思
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我爱苏锐
2010-06-04 · TA获得超过1150个赞
知道小有建树答主
回答量:1374
采纳率:0%
帮助的人:824万
展开全部
as是类型转换,如果转换失败不会报错,会返回null

你说的这几个类都是自定义的吧.具体情况等待知情者回答了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式