二:CodeDOM中表示源代码元素的类型及其应用:
因为CodeDOM中有对应常见源代码元素类型的类型,所以CodeDOM应该拥有庞大的对象群。而正是它庞大的对象群,
常让设计开发人员有种无从下手的感觉,但是一旦了解了,就会发现其实这些对象的用法还是相当直观的。
I:CodeCompileUnit 和 CodeNamespace:
CodeCompileUnit是CodeDOM中的根容器型对象,它可以加入CodeNamespace来生成namespace语句。如下程序演示了此用法。
运用CodeCompileUnit对象的例子:
using System;
using System.IO;
using System.CodeDom;
using System.CodeDom.Compiler;
CodeTypeDeclaration CMethodClass = new CodeTypeDeclaration( "CodeDOMMethedClass" );
CodeMemberField CField = new CodeMemberField( typeof(int),"iTemp");
CodeMemberMethod CMethod = new CodeMemberMethod();
CMethod.Name = "TestMethod";
CMethod.ReturnType = new CodeTypeReference( typeof(string) );
CMethod.Parameters.Add(
new CodeParameterDeclarationExpression( typeof(int), "InputInt") );
CMethod.Statements.Add( new CodeMethodReturnStatement(
new CodePrimitiveExpression("Hello World!") ));
CodeMemberProperty CMProperty = new CodeMemberProperty();
CMProperty.Name = "ITemp";
CMProperty.HasGet = true;
CMProperty.Type = new CodeTypeReference( typeof(int) );
CMProperty.GetStatements.Add( new CodeMethodReturnStatement(
new CodeFieldReferenceExpression(
new CodeThisReferenceExpression(), "iTemp")));