Welcome 微信登录

首页 / 软件开发 / C#

C#进行MapX二次开发之控件基本操作

C#进行MapX二次开发之控件基本操作

C#进行MapX二次开发之控件基本操作2011-08-10 博客园 wuhuacong上篇介绍了MapX的部分基本使用代码,包括放大、缩小、缩放到初始大小(全图)、平移、矩形选择、 圆形选择、箭头、打开图层对话框 、打开ActiveX属性对话框 、添加符号等基本操作代码,本篇继续探 讨一些控件的基本操作。MapX提供的标准工具,不同的工具将会使鼠标能够完成多种任务。例如 ,如果当前的工具设成 miLabelTool,那么当单击鼠标时,会在此特指的地图对象上...
C#进行MapX二次开发之MapX基础知识

C#进行MapX二次开发之MapX基础知识

C#进行MapX二次开发之MapX基础知识2011-08-10MapX的主要技术特点(1)、以表(Table)的形式组织信息每一个表都是一组MapInfo文件,这些文件组成了地图文件和数据库文件。为使用MapInfo,就需要有组成表的用户数据和地图文件。这些文件可以来自MapInfo或者由用户创建。用户要想在MapInfo中工作,就必须打开一个或多个表。MapInfo通过表的形式将数据与地图有机地结合在一起。当用户在MapInfo中打开数据文件时,MapI...
C#进行MapX二次开发之开篇介绍及资源汇总

C#进行MapX二次开发之开篇介绍及资源汇总

C#进行MapX二次开发之开篇介绍及资源汇总2011-08-10 博客园 wuhuacong关于地理信息的开发有好多控件工具可以选择,GIS软件包括三家美国GIS开发商ESRI,Intergraph和 MapInfo的软件产品,以及国产软件:MapGIS,GeoStar和Citystar,SuperMap等产品。另外还有一些边缘 产品,是Web GIS的领域,不是纯粹的GIS产品,称之为地图应用平台可能较好,如Google公司的Google Maps、微软...
C#动静结合编程之一: 接口和委托的约束强度

C#动静结合编程之一: 接口和委托的约束强度

C#动静结合编程之一: 接口和委托的约束强度2011-08-10 博客园 Todd程序世界有两种神秘的元素,它们无处不在,却常常未被察觉。它们一动一静,却又和谐相处。我给 这对兄弟取上不太恰当的名字,一个叫“协议”,一个叫“约束”。我们常常看到的动态语言、静态语言 背后,本质上就是“协议”与“约束”两种元素的作用。静态语言和动态语言本身没有一个明确的界限, 它们...
C#动静结合编程之二: 两种哲学

C#动静结合编程之二: 两种哲学

C#动静结合编程之二: 两种哲学2011-08-10 博客园 Todd在本系列的上一篇中,谈到了接口和委托语法约束强度的比较,我的结论是接口的语法约束要强于委 托。这个话题得到了不少朋友的关注和讨论。对此,我在综合反馈,查阅资料,加上自己的理解的基础上 对接口和委托的关系进行一个小小的总结,并借此推动本篇的介绍。一方面,从OO角度看,接口和委托是实现多态性的两种手段;另一方面,从软件设计角度看,接口和 委托是将规范与实现分开从而面向抽象编程的两种手段。因此...
C#动静结合编程之三:Duck Typing

C#动静结合编程之三:Duck Typing

C#动静结合编程之三:Duck Typing2011-08-10 未知 Sailing中庸C#是静态类型语言,要使用类型必须引用该类型的定义。因此,从软件组织角度会发生组件间的引用依赖关系。常见的引用依赖关系有两种模式:a. 正向依赖:组件A用到了组件B中定义的类T,组件A直接引用组件B,依赖关系是“组件A -> 组件B”。b. 反向依赖:组件A通过接口I定义功能规范,针对抽象编程;组件B反过来引用组件A,并定义类T实现接口I...
C#动静结合编程之四:泛型委托

C#动静结合编程之四:泛型委托

C#动静结合编程之四:泛型委托2011-08-10 博客园 Todd多态多态是什么?一句话:接口和实现的1:n映射。多态让程序能通过统一的接口(广义的接口,意指规范 )调用不同的实现,从而增强程序的表达能力和灵活性。我们最为熟悉的多态形式是包括接口继承在内的 类型多态:var animals = new List<IAnimal>() { new Cat("Missy"), new Cat(&...
C#基础(一)(温故而知新)

C#基础(一)(温故而知新)

C#基础(一)(温故而知新)2011-08-16 博客园 asp114一、C#与.NET的关系C#本身是一门语言,他是用于生成面向.NET环境的代码,但其并不是.NET的一部分。换言之,C#编写 的代码总是运行在.NET Framework中。而且,在很多时候,C#的特定功能依赖于.NET。比如,在C#中声 明一个int类型,实际上是.NET中System.Int32类的一个实例。.NET的核心是CLR(公共语言运行时)。在CLR中运行的代码,我们成为&l...
C#基础(二)(温故而知新)

C#基础(二)(温故而知新)

C#基础(二)(温故而知新)2011-08-16 博客园 asp114二、程序集程序集(Assembly)是包涵编译好的,面向.NET Framework 的代码的逻辑单元。程序集是完全自我描 述性的,也是一个逻辑单元。程序集的一个重要特点是其包含的元数据描述了对应代码中定义的类型和方 法。程序集也包含了自身的元数据。程序集也有私有程序集和共享程序集之分。这些在后面我们将会学习到。三。、反射。因为程序集存储了元数据,包括在程序集中定义的所有类型和方法,所以...
C#基础(三)(变量的声明,变量的作用域以及常量)

C#基础(三)(变量的声明,变量的作用域以及常量)

C#基础(三)(变量的声明,变量的作用域以及常量)2011-08-16 博客园 asp114从这一节开始,我们开始复习C#基础知识,涉及变量声明,变量的初始化,作用域,C#的预定义数据 类型,C#中的循环和条件语句,枚举,命名空间,Main()方法,C#标识符和关键字,C#编码的规范和约定 ,等等。首先,我们还是从非常经典的“Hello word !”开始。我们新建一个.txt文件,并且更改为 test.cs 。然后键入以下内容。u...
C#基础(四)(C#预定义值类型和引用类型)

C#基础(四)(C#预定义值类型和引用类型)

C#基础(四)(C#预定义值类型和引用类型)2011-08-16 博客园 asp114一、预定义类型。1、值类型和引用类型C#中的数据类型,可以分为值类型和引用类型,值类型存储在堆栈上,而引用类型存储在托管堆上。如下代码示例,int i=10;int j=i;i和j的值都是10,并且在内存中会有两个地方存储10.再看下面的代码Vector x=new Vector();x.Value=20;Vector y=x;Console.WriteLine(y.Va...
C#高级(一)面向对象

C#高级(一)面向对象

C#高级(一)面向对象2011-08-16 博客园 asp114对于面向对象,有N多大师写过N多文字。我也不敢妄言。就简单说说自己的认识。我们先来看看“对象”,什么是对象?我们在现实生活中所能看到的一切都可以称为对象 。比如,企业、医院、宠物、植物、人。。。等等。在面向对象编程中,对象往往被当作一个类,类有属 性和行为。我们以医院为例来说,医院有医生,有护士等,在医院可以做CT,B超等。在面向对象编程中 ,我们定义一个hospita...
C#高级(三)构造函数

C#高级(三)构造函数

C#高级(三)构造函数2011-08-16 博客园 asp114构造函数是和类名相同的类的一个方法,如果没有显式的声明,在系统会在编译的时候,自动生成一 个不带参数的,不执行任何动作的构造函数。但如果显式的声明了构造函数,系统就不会自动生成了。如果声明的构造函数是有参数的构造函数, 我们在实例化类的时候,就必须以该构造函数而实例化类。看下面的代码:using System;namespace gosoa.com.cn{public class test{p...
C#高级(四)结构,部分类和Object类

C#高级(四)结构,部分类和Object类

C#高级(四)结构,部分类和Object类2011-08-16 博客园 asp114一、结构结构和类几乎一样,在定义的时候只需要把class写成 struct 。为结构定义函数和为类定义函数完全 一样。那什么时候用结构呢?在一些时候,我们仅需要一个小的数据结构。如果用类的话性能是有损失的, 而采用结构就比较合适。注意,结构是值类型,而类是引用类型;结构不支持继承;结构在编译时,编译器总会提供一个无参 的构造函数;在结构中不允许定义无参的构造函数。二、部分类...
<< 81 82 83 84 85 86 87 88 89 90 >>