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 过程中对于接口引用和实现过程过产生的感悟的更多相关文章

  1. 介绍Unreal Engine 4中的接口(Interface)使用C++和蓝图

    这个教程是从UE4 Wiki上整理而来. 在C++中直接使用Interface大家应该很熟悉.只是简单先定义一个个有虚函数的基类,然后在子类中实现相应的虚函数.像这样的虚函数的基类一般概念上叫接口.那 ...

  2. Arcgis Engine(ae)接口详解(7):地图(map)操作

    IMap map = null; //跟map同一层次的activeView对象,他们都是“地图”的对象,map管理地图内容,activeView管理显示内容 IActiveView activeVi ...

  3. Arcgis Engine(ae)接口详解(5):IGeometry几何基础操作

    //点操作~~~~~~~~~~~~~~~~~~~~~~~~~ //通过坐标生成点 IPoint point = new PointClass(); point.PutCoords(, ); //获取点 ...

  4. Arcgis Engine(ae)接口详解(8):临时元素(element)

    //主地图的地图(map)对象 IMap map = null; IActiveView activeView = null; //IGraphicsContainer用于操作临时元素,可以通过map ...

  5. Arcgis Engine(ae)接口详解(5):IGeometry几何高级操作

    IPoint point = new PointClass(); point.PutCoords(, ); //ITopologicalOperator接口用于几何对象的几何操作 ITopologic ...

  6. Arcgis Engine(ae)接口详解(6):workspace操作

    //此处用的workspace来源与用户选择 IWorkspace workspace = null; //workspace一般等同于数据库 //工作空间类型,也可理解为数据库类型 //esriFi ...

  7. Arcgis Engine(ae)接口详解(3):featureClass的feature编辑和删除

    //由于测试数据不完善,featureClass在此要只设null值,真实功能要设实际的值 IFeatureClass featureClass = null; //获取某个字段的索引,后面取字段值用 ...

  8. Arcgis Engine(ae)接口详解(4):featureClass的feature插入

    //由于测试数据不完善,featureClass在此要只设null值,真实功能要设实际的值 IFeatureClass featureClass = null; //获取某个字段的索引,后面取字段值用 ...

  9. Arcgis Engine(ae)接口详解(1):featureClass

    //IFeatureClass 来源请自行解决 IFeatureClass featureClass = null; //获取featureClass的各种名称 //PS:featureClass可以 ...

随机推荐

  1. Python 函数和相关用法笔记

    python中%r和%s的区别 总结:%r打印时能够重现它所代表的对象 __str__和__repr__的用法

  2. vue中keep-alive的用法

    1.keep-alive的作用以及好处 在做电商有关的项目中,当我们第一次进入列表页需要请求一下数据,当我从列表页进入详情页,详情页不缓存也需要请求下数据,然后返回列表页,这时候我们使用keep-al ...

  3. Python《学习手册:第二章-习题》

    什么是Python解释器? Python解释器是运行Python程序的程序. 什么是源代码? 源代码是为程序所写的语句:它包括文本文件(通常以.py为文件名结尾)的文件. 什么是字节码? 字节码是Py ...

  4. 谈论seo思维性对优化中起到决定性的作用

    在<SEO的艺术>又出版之后,SEO艺术更加受到了广大SEOer的关注和热捧,在这本书里面,也有很多的不为人知的技巧分享.SEO的艺术强调的是SEO融入网络营销,融入社会化媒体大潮,然而这 ...

  5. 由于github仓库中提前建立readme文件,导致git push报错error: failed to push some refs to 'git@github.com:

    $ git push -u origin master To git@github.com:xxx/xxx.git ! [rejected] master -> master (fetch fi ...

  6. 使用libpcap过滤arp

    上一篇博客简单讲述了libpcap的工作流程及简单使用,今天我们需要做的是继续使用libpcap抓取我们感兴趣的流量,并进行简单的解析: 测试环境是centos 7 下面贴一张arp帧结构图: 下面我 ...

  7. left join 后的条件 位置不同,查询的结果不同

    表t_a id name 1 a1 2 a2 表t_b a1_id name num 2 b2 1 3 b3 100 left join 后加查询条件 select a.* from t_a a le ...

  8. ActiveX、OLE和COM的关系(转自百度文档)

    比较流行的组件模型有COM(Component Object Model,对象组件模型)/DCOM(Distributed COM,分布式对象组件模型)和CORBA(Common Object Req ...

  9. Eclipse中导入项目后js报错解决方法

    http://blog.csdn.net/chenchunlin526/article/details/54666882 原因是因为开启了js的校验功能 不影响项目 如需去除错误标志按链接文档操作即可 ...

  10. LeetCode Javascript实现 283. Move Zeroes 349. Intersection of Two Arrays 237. Delete Node in a Linked List

    283. Move Zeroes var moveZeroes = function(nums) { var num1=0,num2=1; while(num1!=num2){ nums.forEac ...