1.AE中对象模型图 (Object Model Diagram,OMD)(我的arcgis默认安装在C:\Program Files (x86)):
C:\Program Files (x86)\ArcGIS\DeveloperKit10.0\Diagrams
可以帮助程序员了解类之间的关系,如何从一个类到另一个类,选择正确的接口,获取需要的属性和方法等。
2.在ArcObjects中存在三种类型的类:
抽象类(Abstract Class)
组件类(CoClass)
普通类(Class)
抽象类不能用于产生一个新的对象,但是可以用于定义一个子类。
组件类是一个可以直接用new创建对象实例的类,它的实例对象不依赖其他对象的存在而存在,其生存周期也不 用其他的对象管理。
普通类不能够直接产生一个对象,但它可以用其他的普通类或组件类的方法产生,而不是使用new关键字来完成。
3.QI (Query Interface),即所谓查询接口
由于一个COM对象有很多个接口,不同的接口管理着COM的不同类型的方法、属性,因此从一个接口可以使用的属性方法转到另一个接口可以使用的属性方法的过程称为QI。这个过程也是由 IUnknown接口管理的。
IMap pMap ; IActiveView pActiveView ;
pMap = axMapControl1.Map; //获取控件中的地图
……
pActiveView = pMap as IActiveView; //QI
(Or pActiveView = (IActiveView)pMap ; )
4.接口分为两种,即内向接口和外向接口。
内向接口(Inbound Interface)是组织COM对象相关的方法和属性,COM对象必须实现所有的接口内容;
外向接口(Outbound Interface)是用于组织COM对象相关的事件,开发人员根据需要实现事件接口。