项目中dynamic与xml的相互转换

项目中很多地方采用dynamic新特性进行开发,因此本人参看了很多关于dynamic的资料。在新的一年开始 ,记录下自己的学习经验。

dynamic关键字用于声明一个动态对象,然后通过该动态对象去调用方法或 读写属性。

(一)测试Alexandra Rusina提供的参考资料

参考 http://blogs.msdn.com/b/csharpfaq/archive/2009/10/19/dynamic-in-c-4-0-creating-wrappers-with- dynamicobject.aspx ,因此对该地址的博文中DynamicXMLNode类进行相应的学习与测试。测试如下:

static void Main(string[] args)
        {
            //正常运行
            RunDynamicXMLNode(true);
            //异常运行
            RunDynamicXMLNode(false);

           Console.ReadLine();
        }
private static void RunDynamicXMLNode(bool state)
        {
            Console.WriteLine("------RUN begin------");
            try
            {
                dynamic contact = new DynamicXMLNode("Contacts");
                contact.Name = "Patrick Hines";
                if (state)
                {
                    contact.Address = new DynamicXMLNode();
                }
                contact.Address.Street = "123 Main St";
            }
            catch (RuntimeBinderException ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.WriteLine("------RUN end--------");
        }

运行后显示结果如下:

设置断点进行单步调试,发现TryGetMember方法中:如果当前元素XElement下没有相应的XName的 子元素,那么result = null;

正常运行contact.Address = new DynamicXMLNode();创建了一个新的 dynamic对象。反之,contact.Address =null;将导致RuntimeBinderException异常。

public override bool TryGetMember(GetMemberBinder binder, out object result)
        {
            XElement getNode = node.Element(binder.Name);
            if (getNode != null)
            {
                result = new DynamicXMLNode(getNode);
                return true;
            }
            else
            {
                result = null;
                return false;
            }
        }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索运行
, result
, dynamic
, console
, address
, contact
开发Dynamic
xml excel相互转换、xml string 相互转换、dynamic 序列化 xml、dynamic转换为object、dynamic 转换list,以便于您获取更多的相关知识。

时间: 2024-09-14 07:20:34

项目中dynamic与xml的相互转换的相关文章

web项目中的web.xml配置文件version参数设置

问题描述 web项目中的web.xml配置文件version参数设置 按照李刚的javaEE企业应用实战,图中的版本号为3.1.为什么我输入3.1就会报错.而输入 2.5就可以.这里代表的什么意思,为什么我不能输入3.1 解决方案 http://blog.csdn.net/kebikakaxi/article/details/8676789 解决方案二: Tomcat web.xml配置文件web.xml配置文件详解web.xml配置文件详解

java maven-maven项目中的pom.xml第一行报错

问题描述 maven项目中的pom.xml第一行报错 maven项目中的pom.xml第一行报错:Failure to transfer org.apache.maven:maven-parent:pom:18 from http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central h

java项目中web.xml标签问题

问题描述 java项目中web.xml标签问题 org.xml.sax.SAXParseException: The element type "web-app" must be terminated by the matching end-tag "". 所示,我这个项目全搜了一下就web.xml中使用了上面的标签,而且开始标签和结束标签都有,实在不明白为什么还会报这个错,项目也已经clean好几遍了,都没啥作用.请各位指点指点 解决方案 JAVA web 项目中

android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件

  简介 XStream 是一个开源项目,一套简单实用的类库,用于序列化对象与 XML 对象之间的相互转换. 将 XML 文件内容解析为一个对象或将一个对象序列化为 XML 文件.   1.下载工具 xstream   下载最新版本地址: https://nexus.codehaus.org/content/repositories/releases/com/thoughtworks/xstream/   下载完成后 把jar包导入到自己的android项目中    2. 常用的方法: (1)f

pom xml-maven项目中servlet.xml中出现 "oscache:config" is not bound.错误

问题描述 maven项目中servlet.xml中出现 "oscache:config" is not bound.错误 在pom.xml中加了依赖oscache的jar包.代码如下:com.opensymphonyoscache2.4.1 在servlet.xml中出现The prefix ""oscache"" for element ""oscache:config"" is not bound.错误

实际项目中,Hibernate的hbm.xml文件大家倾向于放置在什么位置

问题描述 虽使用Hibernate时间不短,近日萌生疑问 因为项目需求存在变更的情况,数据库表结果是有变化发生的 甚至数量是有变化的,因此需修改或增加实体类(或称POJO).对应的Hibernate hbm.xml文件 目前包层次是按模块划分的,每个模块分包下有DAO包专门负责放置hbm.xml和DAO类 而一旦关联关系跨包的时候,利用Eclipse插件生成hbm.xml文件的时候就有些麻烦,需要对hbm.xml文件做手工修改. (生成顺序是 Table Schema -> POJO和hbm.x

安卓开发-android项目中一个Activity一般配一个xml文件,什么情况下配多个xml文件呢

问题描述 android项目中一个Activity一般配一个xml文件,什么情况下配多个xml文件呢 android项目中一个Activity一般配一个xml文件,什么情况下配多个xml文件呢 有没有Activity不需要xml文件的情况呢 解决方案 多个xml一般是需要适配不同大小的屏幕,安卓会根据屏幕大小自动加载不同size的屏幕的xml,安卓开发是mvc结构,activity一定需要一个view,通常是需要xml做view,但是也可以自定义一个view然后activity加载这个view

xml-在用SSH框架开发项目中的XML配置

问题描述 在用SSH框架开发项目中的XML配置 对于我现在已经在项目开发中用到了SSH的框架,但是在项目开发过程中遇到的XML配置的问题,在XML配置文件中里面有太多的配置标签,有时会用到自己从来就没有见过的标签,又不知道它们该如何用,为什么要用?用了有啥好处?为了解决这个问题,我现在想请那位大神给我说一下,请把在SSH框架中以及SpringMVC的配置文件的总结的所有的属性以及属性值给我说一下.我好积累下来.以备以后工作中使用.谢谢! 解决方案 你这是想走捷径啊,自己慢慢积累吧.这东西 谁会给

snapshot-请问,用maven项目中,在pom.xml配置如下信息是配置的什么?

问题描述 请问,用maven项目中,在pom.xml配置如下信息是配置的什么? com.exampleexample-common1.0-SNAPSHOT 解决方案 请百度maven基础.