网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
.Net的CodeDOM技术实现语言无关的Code Wizard
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式
p;       // 产生 m_property = value;
        CodeAssignStatement propertyAssignment = new CodeAssignStatement(field,
        new CodePropertySetValueReferenceExpression());
        property.SetStatements.Add(propertyAssignment);
        m_Class.Members.Add(property);
    }
}

这些生成的属性是可读写的。这就需要将HasGet和HasSet两个属性设为true,然后分别将get和set方法中的语句分别加到GetStatements和SetStatements中。

六、构造函数的生成

    构造函数的主要工作是打开数据表。如果数据表不存在,就创建这个数据表文件。在编写代码之前,需要先定义三个全局变量。因为这三个全局变量在程序中会多次用到。它们的类型都是CodeVariableReferenceExpression。这个类型变量其实在生成源码中的作用就是对某一个变量的引用。具体的实现代码如下:

private CodeVariableReferenceExpression m_XmlFileExpression;
private CodeVariableReferenceExpression m_XmlExpression;
private CodeVariableReferenceExpression m_AddFlagExpression;        
private void InitVariants()
{
m_XmlFileExpression = new CodeVariableReferenceExpression("m_XmlFile");
    m_XmlExpression = new CodeVariableReferenceExpression("m_xml");
    m_AddFlagExpression = new CodeVariableReferenceExpression("m_AddFlag");
}

下面是生成构造函数的源代码:

private void GenerateConstructor()
{
    // 定义构造函数
    CodeConstructor constructor = new CodeConstructor();
    constructor.Parameters.Add(new CodeParameterDeclarationExpression("System.String", "xmlFile"));
    constructor.Attributes = MemberAttributes.Public;
    // 产生 "m_XmlFile = xmlFile;" 
    CodeAssignStatement assignXmlFile = new CodeAssignStatement(m_XmlFileExpression,
    new CodeVariableReferenceExpression("xmlFile"));
    // 产生 "m_xml.LoadXml("…");"
    CodeMethodInvokeExpression invokeLoadXml = new CodeMethodInvokeExpression(m_XmlExpression, "LoadXml",
   new CodePrimitiveExpression("<?xml version=\"1.0\" encoding=\"gb2312\" ?><" + m_Xml.DocumentElement.Name
   + "></" + m_Xml.DocumentElement.Name + ">"));
    // 产生 "m_xml.Save(m_XmlFile);"
    CodeMethodIn
  • 上一篇资讯: matlab与C# 矩阵转换
  • 网学推荐

    免费论文

    原创论文

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