Emit学习-基础篇-为动态类添加属性、构造函数、方法
来源:互联网 发布:java滑动验证码源代码 编辑:程序博客网 时间:2024/06/18 13:44
Emit学习-基础篇-为动态类添加属性、构造函数、方法
我们通过一个计算A+B的动态类来演示如何为一个动态类添加属性、构造函数、方法,以及在方法中使用类中定义的属性,按照惯例,我们先给出要实现的动态类的C#代码,然后再针对C#代码给出相应的实现,代码如下:
Add
前面的步骤和之前的斐波那契实现相同,这里我们直接从属性的定义开始。首先,我们通过TypeBuilder对象的DefineField方法来定义私有字段_a和_b,并为它们设置默认值0,代码如下:
定义私有字段_a和_b
然后我们通过TypeBuilder对象的DefineProperty方法分别定义属性A、B;接着再通过PropertyBuilder的SetGetMethod和SetSetMethod方法设置它们的get和set方法,至于get和set方法的IL代码的生成则和普通的Method定义相同,这里只列出属性A的定义,属性B与A相同,代码如下:
定义公有属性A和B
最后,我们来定义构造函数和Calc方法,构造函数的定义使用TypeBuilder的DefineConstructor方法,获得一个ConstructorBuilder对象,接下来就转入到跟普通的方法定义相同的步骤,代码如下:
定义构造函数和方法
到这里,我们终于完成了动态类的创建,最后,同样给出完整的源码下载 A+B,希望这系列的文章能够对大家有帮助。- Emit学习-基础篇-为动态类添加属性、构造函数、方法
- runtime 系列-1.动态添加类及类属性,并为类动态添加方法
- JavaScript基础学习之-JavaScript权威指南--第八章函数属性方法构造函数
- IOS动态为类添加属性
- C# 类动态添加属性、方法
- 使用AOP为类动态添加方法
- JavaScript---动态添加删除属性与方法和对象构造方法
- Python学习笔记——动态添加属性与方法
- c#基础 类 构造函数 方法
- 构造函数、方法重载、属性
- Kotlin学习记录(二)—— Kotlin的变量、属性、类、构造函数、继承、方法
- 建议106:为静态类添加静态构造函数
- java 静态属性 静态代码块 静态方法声明 构造块 构造函数 动态属性 执行顺序
- iOS类添加方法、属性学习笔记
- 为动态增加节点添加class属性
- js为object动态添加属性
- swift基础学习(04)[运算符、属性、属性观察器、方法、下脚标本、继承、构造器]
- 函数的属性、方法和构造函数
- Shell 脚本 遍历文件夹
- SSH框架
- Google Reader关闭,RSS订阅将用什么?
- PCB设计相关经验分享【From EDN China】
- python中的进制转换
- Emit学习-基础篇-为动态类添加属性、构造函数、方法
- Eclipse快捷键大全(转载)
- django学习笔记-中文显示
- HDU 3518 Boring counting(后缀自动机 SAM)
- 4_7
- 最大堆最小堆(自定义类型)
- AD winter 09从原理图或者PCB导出封装
- 关键字final 在继承体系中所处于的地位
- Android(SDK 1.5) Button 的单击事件的三种响应方法