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