网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
.Net的CodeDOM技术实现语言无关的Code Wizard
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式
p;  m_Class.Members.Add(xmlfile);
// 根据模板文件产生保存字段值的变量
    String fieldname = "", fieldtype = "";
    foreach (XmlNode xn in m_Xml.DocumentElement.ChildNodes)
    {
         fieldname = "m_" + xn.Name;
         fieldtype = xn.Attributes["type"].Value;
         CodeMemberField field = new CodeMemberField(fieldtype, fieldname);
         m_Class.Members.Add(field);
    }
    // 产生 "private bool m_AddFlag;" 
    CodeMemberField addflag = new CodeMemberField("System.Boolean", "m_AddFlag");
    m_Class.Members.Add(addflag);
}

在以上代码中每段程序上方的注释是它们所生成的C#源代码。在输入这段代码之前,需要引入两个namespace。

using System.CodeDom;
using System.CodeDom.Compiler;

五、属性的生成

    在数据表类中每个属性代表数据表的一个字段,名子就是字段名。这些属性和保存字段的全局变量一一对应。下面是具体的实现代码:

private void GenerateProperties()
{
    String fieldname = "", fieldtype = "";
    foreach (XmlNode xn in m_Xml.DocumentElement.ChildNodes)
    {
        fieldname = xn.Name;
        fieldtype = xn.Attributes["type"].Value;
        CodeMemberProperty property = new CodeMemberProperty();
        property.Attributes = MemberAttributes.Public | MemberAttributes.Final;
        property.Name = fieldname;
        property.Type = new CodeTypeReference(fieldtype);
        property.HasGet = true;
        property.HasSet = true;
        CodeVariableReferenceExpression field = new CodeVariableReferenceExpression("m_" + fieldname);
        // 产生 return m_property
        CodeMethodReturnStatement propertyReturn = new CodeMethodReturnStatement(field);
        property.GetStatements.Add(propertyReturn);
&nbs
  • 上一篇资讯: matlab与C# 矩阵转换
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号