首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> .NET Framework >> 正文

odeDom使用心得

    CodeDom里的类及相关的用法

    1.CodeCompileUnit类

    这个类是用来为CodeDom程序容器提供容器,可以通过他的Namespaces集合的Add方法加入一个命名空间

    如:

    CodeCompileUnit unit = new CodeCompileUnit();CodeNamespace theNamespace = new CodeNamespace("MyNamespace");unit.Namespaces.Add(theNamespace);

    2.CodeNamespace类

    用来表明一个命名空间对象,这个命名空间里可以引入其他命名空间,也可以加入类

    如:加入一个类到命名空间里

    CodeTypeDeclaration ETClass = new CodeTypeDeclaration("ETMyClasses");theNamespace.Types.Add(ETClass);

    引入一个命名空间

    CodeNamespaceImport SystemImport = new CodeNamespaceImport("System");theNamespace.Imports.Add(SystemImport);3.CodeTypeDeclaration类

    用来表示类、结构、接口或枚举的类型声明。

    声明一个类如

    CodeTypeDeclaration ETClass = new CodeTypeDeclaration("ETMyClasses");BaseTypes 基类或接口的集合,通过Add方法添加TypeAttributes 类或接口的修饰符,如public、sealed,直接赋值,可以通过|进行或运算Members 类成员的集合,通过Add方法可以添加字段、属性、方法等

    IsEnum 设置或获取这个类型是否是枚举IsClass  设置或获取这个类型是否是类IsInterface  设置或获取这个类型是否是接口IsPartial  设置或获取这个类是完整声明还是部分声明IsStruct 设置或获取这个类型是否是结构Name 设置或获取这个类型的名称

    CodeTypeDeclaration的构造函数的参数可以是这个类的名称,也可以没有参数,在实例化之后直接指定他的名称。给一个类型添加基类时可以直接使用类名称,如:ETClass.BaseTypes.Add("EntitisGateway");也可以添加CodeTypeReference的实例,如:ETClass.BaseTypes.Add(new CodeTypeReference(typeof(System.Console)));

    4.CodeNamespaceImport类

    用来表示映入的Namespace对象,构造函数参数为无参或命名空间名,通过CodeTypeDeclaration的Imports集合的Add方法添加命名空间的5.CodeMemberField类

    用来表明类里面的字段对象,构造函数的参数为类型和名称如

    CodeMemberField tableNameFiled = new CodeMemberField(typeof(string), "C_STR_TABLENAME");这是表明定义了一个类型为string,名字为C_STR_TABLENAME的类成员字段

    Attributes 设置类的描述符号如Const、public,可以用|进行或运算InitExpression  初始化字段的表达式注意对InitExpression赋值需要使用CodePrimitiveExpression类,他是用来表示使用指定对象来初始化,如:

    tableFieldField.InitExpression = new CodePrimitiveExpression(field.FieldName);

    6.CodeMemberProperty类

    用来表明类里面的属性对象构造函数为无参构造函数Name 属性的名称Type 属性的类型,使用CodeTypeReference来进行赋值Attributes 表明属性的修饰符public、override HasGet 获取或设置该属性是否有get方法访问器HasSet 获取或设置该属性是否有set方法访问器GetStatements 表明get方法访问器的语句集合,通过Add方法添加语句SetStatements 表明set方法访问器的语句集合,通过Add方法添加语句

    给属性的get或set方法访问器添加语句如下例:

    //定义一个表达式,他用来表示一个局部变量的引用CodeVariableReferenceExpression fieldExpression = new CodeVariableReferenceExpression("C_STR_TABLENAME");//定一个返回语句,用来表示get的返回语句,他返回的变量是fieldExpression CodeMethodReturnStatement propertyReturn = new CodeMethodReturnStatement(fieldExpression);//将返回语句添加到Get的语句集合中tableNameProperty.GetStatements.Add(propertyReturn);

上一页  [1] [2] [3] [4] 下一页

【责编:Ken】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航