12 2016 档案

摘要:本文老周就给大伙伴们介绍一下方法参数代码的生成。 在开始之前,先补充一下上一篇烂文的内容。在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作,后来发现是可以的。不过啊,MemberAttributes 枚举有些情况下不那么好弄,最典型的就是 阅读全文
posted @ 2016-12-27 17:48 东邪独孤 阅读(2346) 评论(1) 推荐(2) 编辑
摘要:前文中,老周已经厚着脸皮介绍了类型的声明,类型里面包含的自然就是类型成员了,故,顺着这个思路,今天咱们就了解一下如何向类型添加成员。 咱们都知道,常见的类型成员,比如字段、属性、方法、事件。表示代码成员的类型与 CodeTypeDeclaration 类有着共同的基类—— CodeTypeMembe 阅读全文
posted @ 2016-12-21 18:06 东邪独孤 阅读(2706) 评论(2) 推荐(4) 编辑
摘要:上一篇文章中说了命名空间,你猜猜接下来该说啥。是了,命名空间下面就是类型,知道了如何生成命名空间的定义代码,之后就该学会如何声明类型了。 CLR的类型通常有这么几种:类、接口、结构、枚举、委托。是这么几个,应该没有漏掉的吧。 定义类型,除了委托外都可以用 CodeTypeDeclaration 类完 阅读全文
posted @ 2016-12-16 12:11 东邪独孤 阅读(2208) 评论(1) 推荐(2) 编辑
摘要:在上一篇文章中,老周介绍了表达式和语句,尽管老周没有把所有的内容都讲一遍,但相信大伙至少已经掌握基本用法。在本文中,咱们继续探讨 CodeDom 方面的奥秘,这一次咱们聊聊命名空间。 在开始之前,老周先厚着脸皮回答一位朋友的问题,有朋友问,我有一个代码文件,或者我直接把代码弄成文本,而不是生成的文档 阅读全文
posted @ 2016-12-15 18:20 东邪独孤 阅读(2403) 评论(1) 推荐(1) 编辑
摘要:在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系。 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下。严格上说,Emit并不是针对代码文档生成和编译而设计的,Emit一方面可以实时发出 IL 指令,另一方面也支持动态程序集,即可以在 阅读全文
posted @ 2016-12-11 11:10 东邪独孤 阅读(5842) 评论(7) 推荐(14) 编辑
摘要:CodeDom 是啥东东?Html Dom听过吧,XML Dom听过吧。DOM一般可翻译为 文档对象模型,那 Code + DOM呢,自然是指代码文档模型了。如果你从来没接触过 CodeDom,你大概可以根据这个名字,推断它应该和代码文档模型有关。 这推断是靠谱的,CodeDom的功能,老周厚着脸皮 阅读全文
posted @ 2016-12-08 12:02 东邪独孤 阅读(4763) 评论(4) 推荐(8) 编辑
摘要:假设 K 类中有两个属性/字段的类型相同,并且它们引用的是同一个对象实例,在序列化的默认处理中,会为每个引用单独生成数据。 看看下面两个类。 假设 ContactInfo 表示联系方式,帅哥有两个联系方式。 在上面代码中,帅哥实例的两种联系方式都引用了同一个 ContactInfo 对象。如果把该帅 阅读全文
posted @ 2016-12-01 10:05 东邪独孤 阅读(1188) 评论(5) 推荐(6) 编辑