03 2018 档案

摘要:逻辑运算有三种:与、或、非。实现它们可以用位运算指令And、Or、Not等三个指令。它们的使用方法和位运算一致。 完整的程序如下: using System; using System.Reflection; using System.Reflection.Emit; namespace LX1_I 阅读全文
posted @ 2018-03-30 14:05 Z语言 阅读(153) 评论(0) 推荐(0) 编辑
摘要:C#支持的位运算是与、或、异或、取反、左移、右移,它们对应的指令是 And、Or、Xor、Not、Shl、Shr。 阅读全文
posted @ 2018-03-30 13:56 Z语言 阅读(171) 评论(0) 推荐(0) 编辑
摘要:C#支持的数学运算是加、减、乘、除、取模,它们对应的指令是Add、Sub、Mul、Div、Rem。 这五个运算都需要两个参数,它们的通用步骤1.生成加载左边变量2.生成加载右边变量3.生成运算指令 实例: 完整的程序如下: using System; using System.Reflection; 阅读全文
posted @ 2018-03-30 13:46 Z语言 阅读(142) 评论(0) 推荐(0) 编辑
摘要:创建对象用Newobj指令,它的操作是创建一个新的对象或值类型,并将对象引用的新实例到计算堆栈上。 阅读全文
posted @ 2018-03-29 15:49 Z语言 阅读(149) 评论(0) 推荐(0) 编辑
摘要:本篇讲述怎样装箱拆箱。装箱和拆箱都是针对值类型而言的,装箱的性能开销远比拆箱的性能开销大。 阅读全文
posted @ 2018-03-28 16:19 Z语言 阅读(265) 评论(0) 推荐(0) 编辑
摘要:本篇讲解生成构造函数的一些知识,包括创建实例构造函数、静态构造函数、调用父类构造函数。 阅读全文
posted @ 2018-03-27 15:13 Z语言 阅读(153) 评论(0) 推荐(0) 编辑
摘要:索引器是一种特殊的属性,它有参数的,也有get和set方法,属性名称一般是"Item",并且方法名称一般名称是"get_Item"和"set_Item"。 阅读全文
posted @ 2018-03-26 15:31 Z语言 阅读(383) 评论(0) 推荐(0) 编辑
摘要:本篇讲解怎么生成属性,包括get和set方法。 阅读全文
posted @ 2018-03-23 14:29 Z语言 阅读(210) 评论(0) 推荐(0) 编辑
摘要:一个方法体执行完指令后,必须要完成调用并返回,这是要使用Ret指令。 阅读全文
posted @ 2018-03-23 14:05 Z语言 阅读(185) 评论(0) 推荐(0) 编辑
摘要:字段有静态字段和非静态字段之分,它们的加载保存指令也是不一样的,并且非静态字段要生成this。 阅读全文
posted @ 2018-03-22 15:40 Z语言 阅读(245) 评论(0) 推荐(0) 编辑
摘要:C#关键字是非静态方法体内部,用Ldarg_0指代this例子ilGenerator.Emit(OpCodes.Ldarg_0); 阅读全文
posted @ 2018-03-22 15:19 Z语言 阅读(161) 评论(0) 推荐(0) 编辑
摘要:本篇讲解怎么加载和保存参数,以及参数起始序号的确定。 阅读全文
posted @ 2018-03-22 14:56 Z语言 阅读(502) 评论(0) 推荐(0) 编辑
摘要:本篇讲解实现创建方法、指定参数的名称、实现参数加out和ref修饰符、以及参数加默认值。 阅读全文
posted @ 2018-03-21 15:40 Z语言 阅读(244) 评论(0) 推荐(0) 编辑
摘要:创建枚举类型比较简单,主要使用moduleBuilder.DefineEnum 和enumBuilder.DefineLiteral。 阅读全文
posted @ 2018-03-20 15:13 Z语言 阅读(159) 评论(0) 推荐(0) 编辑
摘要:本篇讲解怎么创建字段,主要是在修饰符的创建上。 阅读全文
posted @ 2018-03-20 14:36 Z语言 阅读(243) 评论(0) 推荐(0) 编辑
摘要:这一篇讲解方法内的局部变量是怎么声明、怎样保存、怎样加载的。 阅读全文
posted @ 2018-03-19 15:34 Z语言 阅读(858) 评论(2) 推荐(0) 编辑
摘要:步骤1:下载fine-uploader 步骤2:加入引用 完整程序: JS也可以写成: 阅读全文
posted @ 2018-03-16 13:20 Z语言 阅读(571) 评论(0) 推荐(0) 编辑
摘要:给PDF添加水印,可以用iTextSharp。 步骤1:下载iTextSharp 步骤2:在项目中添加引用itextsharp.dll 步骤3:在程序中使用iTextSharp.text.pdf 步骤5:详细实现 阅读全文
posted @ 2018-03-16 13:15 Z语言 阅读(682) 评论(0) 推荐(0) 编辑
摘要:这一篇讲解怎么加载bool值、sbyte值、byte值、char值、short值。 阅读全文
posted @ 2018-03-16 11:12 Z语言 阅读(417) 评论(0) 推荐(0) 编辑
摘要:本篇讲述怎么加载null、string值、long值、float值、double值。 加载null不需要参数值,只要 Emit ldnull 其它几个命令要 Emit <指令> <值> 加载null 加载null是很简单的,使用OpCodes.Ldnull,以下一句程序就可以了。 ilGenerat 阅读全文
posted @ 2018-03-15 14:36 Z语言 阅读(248) 评论(0) 推荐(0) 编辑
摘要:这一篇讲的是怎样加载整数值到运算栈上。这一类的指令都是以Ldc_I4开头。 阅读全文
posted @ 2018-03-14 14:41 Z语言 阅读(381) 评论(0) 推荐(0) 编辑
摘要:我们学习编程开始时,一般用输出"hello world"的一段程序,用生成IL方式也可以输出"hello world"。 下面是实现的详细过程。 阅读全文
posted @ 2018-03-14 10:43 Z语言 阅读(243) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示