zoukankan      html  css  js  c++  java
  • C# 4.0 新特性dynamic (待学习)

    随便翻看了一下dynamic,在网上拷贝了一个例子,先贴出来等有空了再慢慢消化

    static void Main(string[] args)
    {
    dynamic d = new MyDynamicObject();
    d.Mytable = "ojlovecd";
    d.ojlovecd = "wang";
    Console.WriteLine(d.Mytable);//新加的字段,VS不会自动提示
    Console.WriteLine(d.ojlovecd);//新加的字段,VS不会自动提示
    Console.ReadKey();
    }
    /// <summary>
    /// 需要先实现父类的两个虚方法
    /// </summary>
    class MyDynamicObject : System.Dynamic.DynamicObject
    {
    private Dictionary<string, object> dic = new Dictionary<string, object>();
    
    public override bool TryGetMember(System.Dynamic.GetMemberBinder binder, out object result)
    {
    return dic.TryGetValue(binder.Name, out result) || base.TryGetMember(binder, out result);
    }
    
    public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
    {
    if (dic.ContainsKey(binder.Name))
    dic[binder.Name] = value;
    else
    dic.Add(binder.Name, value);
    base.TrySetMember(binder, value);
    return true;
    }
    }
  • 相关阅读:
    android studio gradle plugin 用户指南 选择性翻译
    c++ 遍历多维数组的10种方式
    cocos2dx FixedPriority和SceneGraphPriority
    cocos2dx 坐标转换
    MySQL删除表
    MySQL修改表
    MySQL创建表
    MySQL的删除语句
    MySQL的更新语句
    MySQL的插入语句
  • 原文地址:https://www.cnblogs.com/andayhou/p/6181478.html
Copyright © 2011-2022 走看看