摘要: C#编程中可以给字段、方法、类以及程序集加特性即继承于Attribute的类。这里讲解怎么在IL中给 它们加上特性。 阅读全文
posted @ 2018-04-04 14:09 Z语言 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 数值的比较就是大于、小于、等于、大于等于、小于等于、不等于,它们的运算结果都是布尔值。 大于、小于、等于有直接对应的指令,分别是Cgt、Clt、Ceq。 大于等于、小于等于、不等于没有直接对应的指令,它的运算实现一般是取反。 阅读全文
posted @ 2018-04-03 15:35 Z语言 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 逻辑运算有三种:与、或、非。实现它们可以用位运算指令And、Or、Not等三个指令。它们的使用方法和位运算一致。 完整的程序如下: using System; using System.Reflection; using System.Reflection.Emit; namespace LX1_I 阅读全文
posted @ 2018-03-30 14:05 Z语言 阅读(150) 评论(0) 推荐(0) 编辑
摘要: C#支持的位运算是与、或、异或、取反、左移、右移,它们对应的指令是 And、Or、Xor、Not、Shl、Shr。 阅读全文
posted @ 2018-03-30 13:56 Z语言 阅读(169) 评论(0) 推荐(0) 编辑
摘要: C#支持的数学运算是加、减、乘、除、取模,它们对应的指令是Add、Sub、Mul、Div、Rem。 这五个运算都需要两个参数,它们的通用步骤1.生成加载左边变量2.生成加载右边变量3.生成运算指令 实例: 完整的程序如下: using System; using System.Reflection; 阅读全文
posted @ 2018-03-30 13:46 Z语言 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 创建对象用Newobj指令,它的操作是创建一个新的对象或值类型,并将对象引用的新实例到计算堆栈上。 阅读全文
posted @ 2018-03-29 15:49 Z语言 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 本篇讲述怎样装箱拆箱。装箱和拆箱都是针对值类型而言的,装箱的性能开销远比拆箱的性能开销大。 阅读全文
posted @ 2018-03-28 16:19 Z语言 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 本篇讲解生成构造函数的一些知识,包括创建实例构造函数、静态构造函数、调用父类构造函数。 阅读全文
posted @ 2018-03-27 15:13 Z语言 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 索引器是一种特殊的属性,它有参数的,也有get和set方法,属性名称一般是"Item",并且方法名称一般名称是"get_Item"和"set_Item"。 阅读全文
posted @ 2018-03-26 15:31 Z语言 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 本篇讲解怎么生成属性,包括get和set方法。 阅读全文
posted @ 2018-03-23 14:29 Z语言 阅读(199) 评论(0) 推荐(0) 编辑