深入浅出.NET代码生成系列(3):命名空间
上一篇文章后面,我做了一个简单的示例,不知道各位有没有印象。哈,没印象也没关系,今天我们来探讨一下如何生成命名空间的代码。
其实,说的就是CodeNamespace类,这个类就是用来生成命名空间定义的代码的。
(1)Imports属性:一个CodeNamespaceImport对象的集合,这个CodeNamespaceImport类与CodeNamespace类有啥不同呢?CodeNamespace类是生成命名空间的定义的代码的;而CodeNamespaceImport表示的是引入的命名空间,即C#里面我们经常用的using System;之类的代码。
(2)Types属性:包含类型定义的集合,大家都知道,一个命名空间里面有N个类,或者枚举、委托之类的玩意儿。
(3)Comments属性:CodeCommentStatement集合,表示注解,其实就是以// 开头的注解行。
问题一、如何生成命名空间的定义代码
看下面的例子就会明白了。
OK,看看结果。

问题二、如何引入命名空间
把上面的代码继续扩展。
看看结果如何。

在上面代码的基础上继续扩展。
结果如下

问题四、为命名空间定义类型
在上面的代码中,为命名空间定义一个类。
运行结果。

好,本节例子的完整代码如下: