代码改变世界

.Net笔记(一)is和 as

2013-04-18 14:03 by 残月星辰, 398 阅读, 0 推荐, 收藏, 编辑
摘要:1.介绍 类型安全是.net设计之初重点考虑的内容之一,对于程序设计者来说,完全把握系统数据的类型安全,经常力不从心问题。现在,这一切已经在微软的设计框架为你解决。在.NET中,一切类型都必须集成来自System.Object类型,因此我们可以很容易的获得对象的准确类型,方法是 GetType()方法。2.转换概念类型转换包括显示转换和隐式转换,在,Net类型转换的基本规则:任何类型都可以安全的转换为其基类类型,可以由隐式转换来完成;任何类型转换为其派生类型时,必须进行显示转换,转换规则是:(类型名)对象名;使用GetType可以取得任何对象的精确类型;基本类型可以使用covert类实现转换. 阅读全文

WPF 路由事件(一)

2013-03-28 14:34 by 残月星辰, 1147 阅读, 1 推荐, 收藏, 编辑
摘要:1.定义、注册、包装路由事件WPF事件模型与WPF属性模型类似,在依赖项属性一样,路由事件由只读的静态字段表示,在一个静态构造函数中注册,并且通过一个标准的.NET事件定义进行包装。例如 Button类提供了熟悉的CLick事件,该事件继承来自抽象的ButtonBase基类,下面的代码说明了该事件是如何被定义和注册的: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Windows; 6 using System.Window 阅读全文

C# 封装集合

2013-03-27 21:34 by 残月星辰, 1377 阅读, 0 推荐, 收藏, 编辑
摘要:概述:封装集合就是把集合封装其他,只提供给调用端接口。其调用端不能任意修改集合,耦合性更加明确。我们在很多时候吧一些不必要的操作暴露给调用端,只需要给他们所需要的操作或数据就行,这样的叫做封装。下文是我们提供一个Ilist的集合,大家知道Ilist具有对集合的所有操作,这样提供给调用方会造成很多不必要的隐患,所以我们要重构 封装。using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace SCADA.HMI.Windows{ public class Order... 阅读全文

组态软件分析(第二节)

2013-03-07 09:26 by 残月星辰, 1061 阅读, 0 推荐, 收藏, 编辑
摘要:组态软件的系统构成1.组态软件的结构划分: (1)系统开发环境 自动化工程师为了实施项目指定的方案,通过一系列用户数据文件,生成最终的图形目标应用系统供系统运行环境时使用。 系统开发环境由若干个组态程序组成例如图形界面程序 实时数据库程序 设备通信程序 历史数据库程序 脚本程序等等。 制定方案—绘制运行时环境-与设备连接通信-测试-部署(2)系统运行环境 在系统运行环境下,目标应用程序被装入计算机内存并投入实时运行,实时采集数据并且显示在系统中。 组态软件支持在线组态技术,即在不退出系统运行环境的情况下可以直接进入组态开发环境并修改组态,使修改后的组态直接生效。2. 组态软件的成员构成: .. 阅读全文

Xaml Code Behind Generator (XAML 转成C#代码)

2013-03-06 14:55 by 残月星辰, 815 阅读, 0 推荐, 收藏, 编辑
摘要:Code(Xaml Code Behind Generator)XAML 转成C#后台代码的小工具从网站下载地址 http://xamlgenerator.codeplex.com/ VS2010扩展工具步骤 一 在MainWindow.xaml 中编写XAML步骤 二 在工程管理器中右键MainWindow.xaml属性 出现下图画面 把生成操作栏 修改成 无 把自定义工具 修改成 XamlGenerator 重新编译 生成MainWindow.Designer.cs文件 转成后台代码成功 阅读全文

组态软件分析(第一节)

2013-03-02 22:04 by 残月星辰, 1519 阅读, 0 推荐, 收藏, 编辑
摘要:1.什么是组态软件?组态软件就是一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的通用层次的软件工具。组态软件应该能支持各种工控设备和常用的通信协议,并且通常应提供分布式数据管理和网络功能。组态软件是一个用户能够快速建立自己的HMI的软件工具或开发环境。2.工控软件系统主要特性?工业控制软件系统主要包括系统软件、工控应用软件、应用软件开发环境三大部分。工控软件系统应具有六大主要特性:(1)开放性(2)实时性(3)网络化集成化(4)智能化(5)人机界面更加友好化(6)多任务性和多编程性 (现代控制 阅读全文

消息映射宏

2012-10-08 14:55 by 残月星辰, 820 阅读, 0 推荐, 收藏, 编辑
摘要:MFC提供不同的消息映射宏 :1.Windows 消息映射宏2.命令消息映射宏3.控件通知消息映射宏4.通知消息映射宏5.反射消息映射宏6.扩展消息映射宏具体介绍消息映射宏,NO.1 Windows 消息映射宏 : windows消息映射宏用于处理普通的窗口消息。此类消息映射宏前缀为ON_WM_,并且没有参数。因为它对应的消息和消息处理函数的函数名称、函数原型是确定的。MFC提供了这类消息处理函数的定义和默认实现。每个这样的宏处理不同的windows消息。由于MFC中的cwnd类是窗口类的基类,因此,在定义windows消息映射宏时,其消息处理函数都是Cwnd中的方法。NO.2 命令消息映射宏 阅读全文

MFC 消息映射的产生

2012-10-08 09:54 by 残月星辰, 182 阅读, 0 推荐, 收藏, 编辑
摘要:消息映射实际上是采用一张表(消息映射表),将消息标识和消息处理函数存储在其中,当调用窗口函数处理消息时,窗口函数搜索消息映射表,就可以调用消息映射表中对应消息的消息处理函数。MFC就采用上述的消息映射机制。他提供了一个消息映射的基类 CCmdTarget,在CCmdTarget类中提供了一个消息映射表,以后与消息有关的类都应是CCmdTarget的派生类。这样,基类的消息映射表就可以与派生类的消息映射表连接起来。消息处理可以按着从派生类到基类的顺序搜索消息映射表。 阅读全文

指针形参与引用形参区别

2012-08-24 17:36 by 残月星辰, 485 阅读, 0 推荐, 收藏, 编辑
摘要:当函数需要处理数组且函数体不依赖于数组的长度时应使用指针形参,其他情况下应使用引用形参。 指针形参的优点: 是可以明确地表示函数所操作的是指向数组元素的指针,而不是数组本身,而且可以使用任意长度的实参数组来调用函数;指针形参缺点: 是函数体不能依赖于数组长度,否则容易造成数组内存的越界访问,从而产生错误的结果或者导致程序崩溃。 引用形参的优点: 是在函数体中依赖数组的长度是安全的;引用形参的缺点: 限制了可以传递的实参数组,只能使用长度匹配的实参数组来调用函数。 阅读全文

常见动态内存的管理程序错误

2012-08-22 16:14 by 残月星辰, 162 阅读, 0 推荐, 收藏, 编辑
摘要:三种常见的程序错误与动态内存分配相关:1. 删除(delete)指向动态分配内存的指针失败,因而无法将该块内存返还给自由存储区。删除动态分配内存失败称为“内存泄漏(memory leak)”。内存泄漏很难发现,一般需要等应用程序运行了一段时间后,耗尽了所有内存空间时,内存泄漏才会显露出来。2.读写已删除的对象。如果删除指针所指向的对象之后,将指针置为0值,则比较容易检测出这类错误。3.对同一个内存空间使用两次delete表达式。当两个指针指向同一个动态创建的对象,删除时就会发生错误。如果在其中一个指针上做delete运算,将该对象的内存空间返还给自由存储区,然后接着delete第二个指针,此时 阅读全文