zoukankan      html  css  js  c++  java
  • ExpandoObject与DynamicObject的使用

    using ImpromptuInterface;
    using System;
    using System.Dynamic;
    
    namespace ConsoleApp2
    {
        class Program
        {
            static void Main(string[] args)
            {
                dynamic expando = new ExpandoObject();
                expando.name = "cys";
                expando.Add = new Func<int, int>(i=> { return i; });
                var expando_result = expando.Add(1);
                Console.WriteLine(expando.GetType().Name);
    
                dynamic dobject = new BB { name="aaa" };
                var dobject_result =  dobject.ADD();
                dobject.Name = "cys";
                Console.WriteLine(dobject.Name);
                Console.WriteLine(dobject.GetType().Name);
            }
        }
        public class BB : DynamicObject
        {
            public string name { get; set; }
            public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
            {
                result = "a";
                return true;
            }
            public override bool TryGetMember(GetMemberBinder binder, out object result)
            {
                result = name;
                return true;
            }
            public override bool TrySetMember(SetMemberBinder binder, object value)
            {
                name = value.ToString();
                return true;
            }
    
        }
       
    }
  • 相关阅读:
    git
    HTML5 新增语义化标签
    vue directive 常用指令
    JS 数组 数组迭代方法 map, forEach, filter, some, every,
    图片居中
    进度条
    移动页面 REM自适应
    轮播图基本样式
    webpack3.0
    关于码云中项目提交的问题
  • 原文地址:https://www.cnblogs.com/chenyishi/p/10218296.html
Copyright © 2011-2022 走看看