精通.net核心技术 原理与构架

begin @ 2009-3-18

 第二章 公共语言运行库

编绎器把托管代码编绎为MSIL和元数据.存放于基于以前pe格式的文件中.

再由JIT编绎器把它们翻译为本机代码.(两种:一种为运行时动态编绎,一种为安装时代码生成的编绎模式)

工作接到一个项目,忙了几天,
到现在才继续这本书... 郁闷
mark @2009-3-22

 公共语言规范(cls)

 元数据是一种二进制信息,用以对存储在公共语言运行库可移植可执行文件 (PE) 文件或存储在内存中的程序进行描述。将您的代码编译为 PE 文件时,便会将元数据插入到该文件的一部分中,而将代码转换为 Microsoft 中间语言 (MSIL) 并将其插入到该文件的另一部分中。在模块或程序集中定义和引用的每个类型和成员都将在元数据中进行说明。当执行代码时,运行库将元数据加载到内存中,并引用它来发现有关代码的类、成员、继承等信息

 

toString() 格式化输出.

字符串,数字,日期,枚举格式化.

 IFormatProvider接口

复合格式化

            int i = 111;
            Console.WriteLine("{0:C}", i);
            //显示:¥111.00

对齐

字符串与值类型,日期,枚举,==之间的转换.

-----------------------------------------

Exception 总是以 Exception结尾

 

事件命名原则

用EventHandloer后缀命名事件处理程序,如下列所示。

public delegate void MouseEventHandler(object sender, MouseEvent e);

 

使用名为sender和e的两个参数。

Sender参数代表提出事件的对象。Sender参数永远是一个类型对象,即使它可能使用了更为特定的类型。

 

与事件相关的状态被封装在一个名为e的事件类范例中。要使用这个类型的正确的、特定的事件类。

public delegate void MouseEventHandler(object sender, MouseEvent e);

 

用EventArgs后缀命名事件自变量类,如下例所示。

public class MouseEventArgs : EventArgs {

int x;

int y;

public MouseEventArgs(int x, int y)

{ this.x = x; this.y = y; }

public int X { get { return x; } }

public int Y { get { return y; } }

}

 

命名事件名时,需要有之前和之后的时态概念,因此要使用现在时态和过去时态(不要使用BeforeXxx\AfterXxx的方式)。例如,可以被取消的结束事件就有Closing事件和Closed事件。

 

public event ControlEventHandler ControlAdded {

//..

}

 

用动词命名事件。

一般用CallBack后缀命名回调函数

 

转载于:https://www.cnblogs.com/lky001/archive/2009/03/19/1416348.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值