在编写Arcgis Engine 过程中对于接口引用和实现过程过产生的感悟
Engine10.2版本
在vs里面新建类GeoMaoAO,并定义接口,在class中定义并实现,如下代码
以平时练习为例,我定义了一个接口,在里面定义了许多的控件,并在类中想要实现这一接口。如果在vs软件中将引用都配置好一般情况下是不会报错的。
//定义设置控件的接口
interface IComControl
{
//主视图控件
AxMapControl AxMapControl1 { get; set; }
//鹰眼视图控件
AxMapControl AxMapControl2 { get; set; }
//版面视图控件
AxPageLayoutControl AxPageLayoutControl1 { get; set; }
//定义设置颜色的方法
IRgbColor GetRGB(int r, int g, int b);
//TOOCControl控件
AxTOCControl AxTOCControl1 { get; set; }
}
class GeoMapAO : IComControl
{
AxTOCControl axTOCControl1;
public AxTOCControl AxTOCControl1
{
get { return axTOCControl1; }
set { axTOCControl1 = value;}
}
//实现地图控件的接口
AxMapControl axMapControl1;
public AxMapControl AxMapControl1
{
get { return axMapControl1; }
set { axMapControl1 = value;}
}
AxMapControl axMapControl2;
public AxMapControl AxMapControl2
{
get { return axMapControl2; }
set { axMapControl2 = value; }
}
AxPageLayoutControl axPageLayoutControl1;
public AxPageLayoutControl AxPageLayoutControl1
{
get { return axPageLayoutControl1; }
set { axPageLayoutControl1 = value; }
}
//定义实现获取RGB颜色的方法
public IRgbColor GetRGB(int r, int g, int b)//方法名字叫getRGB方法,用的时候即可复制整段public
{
IRgbColor pColor = new RgbColorClass();
pColor.Red = r;
pColor.Green = g;
pColor.Blue = b;
return pColor;
}
}
以上代码,是没有问题的,但如果对方法里面的定义做些小改动,如18行中的
”public AxTOCControl AxTOCControl1“改成”public AxTOCControl AxTOCContrl1“,那我的系统在调试的时候就会报错

类的名字我起的是GeoMaoAO,接口IComControl无法被实现,是因为方法定义的句子产生错误,无法被引用,就导致此错误。
今天因为代码写得不够细致,在观察时没有仔细的去看,粗心导致了很多类似的错误,引用老师的一句话“电脑是不会骗人的,能骗倒你的只有你自己。”引以为戒,分享出来作为第一条博客。
在编写Arcgis Engine 过程中对于接口引用和实现过程过产生的感悟的更多相关文章
- 介绍Unreal Engine 4中的接口(Interface)使用C++和蓝图
这个教程是从UE4 Wiki上整理而来. 在C++中直接使用Interface大家应该很熟悉.只是简单先定义一个个有虚函数的基类,然后在子类中实现相应的虚函数.像这样的虚函数的基类一般概念上叫接口.那 ...
- Arcgis Engine(ae)接口详解(7):地图(map)操作
IMap map = null; //跟map同一层次的activeView对象,他们都是“地图”的对象,map管理地图内容,activeView管理显示内容 IActiveView activeVi ...
- Arcgis Engine(ae)接口详解(5):IGeometry几何基础操作
//点操作~~~~~~~~~~~~~~~~~~~~~~~~~ //通过坐标生成点 IPoint point = new PointClass(); point.PutCoords(, ); //获取点 ...
- Arcgis Engine(ae)接口详解(8):临时元素(element)
//主地图的地图(map)对象 IMap map = null; IActiveView activeView = null; //IGraphicsContainer用于操作临时元素,可以通过map ...
- Arcgis Engine(ae)接口详解(5):IGeometry几何高级操作
IPoint point = new PointClass(); point.PutCoords(, ); //ITopologicalOperator接口用于几何对象的几何操作 ITopologic ...
- Arcgis Engine(ae)接口详解(6):workspace操作
//此处用的workspace来源与用户选择 IWorkspace workspace = null; //workspace一般等同于数据库 //工作空间类型,也可理解为数据库类型 //esriFi ...
- Arcgis Engine(ae)接口详解(3):featureClass的feature编辑和删除
//由于测试数据不完善,featureClass在此要只设null值,真实功能要设实际的值 IFeatureClass featureClass = null; //获取某个字段的索引,后面取字段值用 ...
- Arcgis Engine(ae)接口详解(4):featureClass的feature插入
//由于测试数据不完善,featureClass在此要只设null值,真实功能要设实际的值 IFeatureClass featureClass = null; //获取某个字段的索引,后面取字段值用 ...
- Arcgis Engine(ae)接口详解(1):featureClass
//IFeatureClass 来源请自行解决 IFeatureClass featureClass = null; //获取featureClass的各种名称 //PS:featureClass可以 ...
随机推荐
- Django REST framework+Vue 打造生鲜超市(七)
目录 生鲜超市(一) 生鲜超市(二) 生鲜超市(三) 生鲜超市(四) 生鲜超市(五) 生鲜超市(六) 生鲜超市(七) 生鲜超市(八) 生鲜超市(九) 生鲜超市(十) ...
- numpy用法归纳
1.生成数组 import numpy as np 把python列表转换为数组 >>> np.array([1, 2, 3]) array([1, 2, 3]) 把python的r ...
- 看完这篇Linux基本的操作就会了
前言 只有光头才能变强 这个学期开了Linux的课程了,授课的老师也是比较负责任的一位.总的来说也算是比较系统地学习了一下Linux了~~~ 本文章主要是总结Linux的基础操作以及一些简单的概念~如 ...
- 由ping所引发的思考~
今天看了掘金一片关于ping原理的文章,https://juejin.im/entry/5af8d5e651882565bd25581c?utm_source=gold_browser_extensi ...
- 注解(Annotation)自定义注解入门
摘自:http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html 元注解: 元注解的作用就是负责注解其他注解.Java5.0定义了4个标准 ...
- Junit-4.1.2 @Test 使用
学习使用Junit-4.1.2 @Test来做单元测试 1.下载jar包 下载junit-4.12.jar 下载hamcrest-core-1.3.jar 2.在External Libraries中 ...
- Linux时间子系统之三:jiffies
1. jiffies背景介绍 jiffies记录了系统启动以来,经过了多少tick. 一个tick代表多长时间,在内核的CONFIG_HZ中定义.比如CONFIG_HZ=200,则一个jiffies对 ...
- 怎么轻松学习JavaScript
js给初学者的印象总是那么的“杂而乱”,相信很多初学者都在找轻松学习js的途径.我试着总结自己学习多年js的经验,希望能给后来的学习者探索出一条“轻松学习js之路”.js给人那种感觉的原因多半是因为它 ...
- Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (上)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39269193,本文出自:[张鸿洋的博客] 1.概述 首先我们来吹吹牛,什么叫Io ...
- canvas绘制形状
栅格 之前简单模板中有个宽/高150px的canvas元素.如下图所示,canvas元素默认被网格所覆盖.通常来说网格中的一个单元相当于canvas元素中的一像素.栅格的起点为左上角(坐标为(0,0) ...