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. vue 使用踩坑 note

    1. 如图,假如large那一行错写成 'large': item.ext_data.isLarge + '' === 'true',, 那么,编译不报错,控制台无提示,模板不输出. 2. vue的t ...

  2. js基础进阶--关于setTimeout的思考

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 先热身 看看下面的额代码会打印出什么? for (var i = 0; i < 5; i++) { setTimeout( ...

  3. mysql导入数据中文乱码_ubuntu

    1.在ubuntu中mysql的部分编码格式不是utf-8,故在导文件的时候会出现中文乱码,Windows中编码格式为gbk,因此要修改mysql的编码方式为utf-8. 2.查看MySQL编码格式: ...

  4. 【转】JavaScript的异常处理

    当 JavaScript 引擎执行 JavaScript 代码时,有可能会发生各种异常,例如是语法异常,语言中缺少的功能,由于来自服务器或用户的异常输出而导致的异常. 而 Javascript 引擎是 ...

  5. getopts的使用

    getopts的使用 语法格式:getopts [option[:]] [DESCPRITION] VARIABLE option:表示为某个脚本可以使用的选项 ":":如果某个选 ...

  6. 基于gtid的复制

    Ⅰ.GTID的介绍 global transaction id identifier 全局事务id gtid = server_uuid + transaction_id server_uuid是全局 ...

  7. [ Java面试题 ]算法篇

    1.堆和栈在内存中的区别是什么? 概念: 栈(stack)是为执行线程留出的内存空间.当函数被调用的时候,栈顶为局部变量和一些 bookkeeping 数据预留块.当函数执行完毕,块就没有用了,可能在 ...

  8. 跟我学ASP.NET MVC之四:使用Razor

    摘要: 视图引擎处理ASP.NET内容,并查找指令,典型情况是向浏览器输出插入动态内容.MVC框架视图引擎的名字是Razor. 在本文中,我将带领读者快速认识Razor,以后你们看到他们的时候能够认识 ...

  9. 在centos上面安装phantomjs

    在opt目录下创建phantomjs文件夹 mkdir -p /opt/phantomjs 把phantomjs解压出来的的文件放到/opt/phantomjs下面 建立软链接 ln -s /opt/ ...

  10. IDEA使用教程

    以下内容引自: https://www.cnblogs.com/yjd_hycf_space/p/7483921.html IntelliJ IDEA使用教程(很全) 这个编辑器我就不再多做介绍了.直 ...