zoukankan      html  css  js  c++  java
  • wp7 xml

    public class DynamicXMLNode : DynamicObject
    {
    XElement node;
    public DynamicXMLNode(XElement node)
    {
    this.node = node;
    }
    public DynamicXMLNode()
    {
    }
    public DynamicXMLNode(String name)
    {
    node = new XElement(name);
    }
    public override bool TrySetMember(
    SetMemberBinder binder, object value)
    {
    XElement setNode = node.Element(binder.Name);
    if (setNode != null)
    setNode.SetValue(value);
    else
    {
    if (value.GetType() == typeof(DynamicXMLNode))
    node.Add(new XElement(binder.Name));
    else
    node.Add(new XElement(binder.Name, value));
    }
    return true;
    }
    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;
    }
    }

    public override bool TryConvert(
    ConvertBinder binder, out object result)
    {
    if (binder.Type == typeof(String))
    {
    result = node.Value;
    return true;
    }
    else
    {
    result = null;
    return false;
    }
    }

    public override bool TryInvokeMember(
    InvokeMemberBinder binder,
    object[] args,
    out object result)
    {
    Type xmlType = typeof(XElement);
    try
    {
    result = xmlType.InvokeMember(
    binder.Name,
    BindingFlags.InvokeMethod |
    BindingFlags.Public |
    BindingFlags.Instance,
    null, node, args);
    return true;
    }
    catch
    {
    result = null;
    return false;
    }
    }

    }

  • 相关阅读:
    SQL语句建表、设置主键、外键、check、default、unique约束
    郝斌老师的SQL教程
    Hello WPF!
    指针
    穷举法破解 zebrone1.1
    一条汇编指令引发的 蝴蝶效应 (后记)
    浮点 汇编指令基础知识
    收敛数列极限唯一性证明
    MFC SkinMagic使用方法
    Python初学1
  • 原文地址:https://www.cnblogs.com/luquanmingren/p/3484625.html
Copyright © 2011-2022 走看看