4, GenerateCodeFromNamespace方法 |
CodeNamespace ret = new CodeNamespace(); ret.Name = "MyNameSpace"; codeProvider.GenerateCodeFromMember(ret, tw, options); 输出的代码字符串为: namespace MyNameSpace {
} |
加入注释 |
CodeNamespace ret = new CodeNamespace(); ret.Name = "MyNameSpace"; ret.Comments.Add(new CodeCommentStatement("这是一个命名空间!")); codeProvider.GenerateCodeFromMember(ret, tw, options); 输出的代码字符串为: // 这是一个命名空间! namespace MyNameSpace {
} |
导入命名空间 |
CodeNamespace ret = new CodeNamespace(); ret.Name = "MyNameSpace"; CodeNamespaceImport import=new CodeNamespaceImport("System"); ret.Imports.Add(import); codeProvider.GenerateCodeFromMember(ret, tw, options); 输出的代码字符串为: namespace MyNameSpace { using System;
} |
在该命名空间下定义类信息 |
CodeNamespace ret = new CodeNamespace(); ret.Name = "MyNameSpace"; CodeTypeDeclaration type1 = new CodeTypeDeclaration("MyType1"); ret.Types.Add(type1); CodeTypeDeclaration type2 = new CodeTypeDeclaration("MyType2"); ret.Types.Add(type2); codeProvider.GenerateCodeFromMember(ret, tw, options); 输出的代码字符串为: namespace MyNameSpace {
public class MyType1 { }
public class MyType2 { } } |
还有3个事件,可以通过这3个事件事先与前面一个属性设置相同的功能 |
事件1 PopulateTypes |
增加一个函数 static void ret_PopulateTypes(object sender, EventArgs e) { CodeNamespace ret = sender as CodeNamespace; CodeTypeDeclaration type1 = new CodeTypeDeclaration("MyType1"); ret.Types.Add(type1); CodeTypeDeclaration type2 = new CodeTypeDeclaration("MyType2"); ret.Types.Add(type2); } |
CodeNamespace ret = new CodeNamespace(); ret.Name = "MyNameSpace"; ret.PopulateTypes += new EventHandler(ret_PopulateTypes); codeProvider.GenerateCodeFromMember(ret, tw, options); 输出的代码字符串为: namespace MyNameSpace {
public class MyType1 { }
public class MyType2 { } } |
事件2 PopulateImports |
增加一个函数 static void ret_PopulateImports(object sender, EventArgs e) { CodeNamespace ret = sender as CodeNamespace; ret.Imports.Add(new CodeNamespaceImport("System")); } |
CodeNamespace ret = new CodeNamespace(); ret.Name = "MyNameSpace"; ret.PopulateImports += new EventHandler(ret_PopulateImports); codeProvider.GenerateCodeFromMember(ret, tw, options); 输出的代码字符串为: namespace MyNameSpace { using System;
} |
事件3 |
增加一个函数 static void ret_PopulateComments(object sender, EventArgs e) { CodeNamespace ret = sender as CodeNamespace; ret.Comments.Add(new CodeCommentStatement("这是一行注释!")); } |
CodeNamespace ret = new CodeNamespace(); ret.Name = "MyNameSpace"; ret.PopulateComments += new EventHandler(ret_PopulateComments); codeProvider.GenerateCodeFromMember(ret, tw, options); 输出的代码字符串为: // 这是一行注释! namespace MyNameSpace {
} |
微软CodeDom模型学习笔记(四)
最新推荐文章于 2016-03-28 18:45:00 发布