zoukankan      html  css  js  c++  java
  • C# dynamic class inherit from dynamicobject

    Dynamic object provides a base class for specifying dynamic behavior at runtime.

    public class DynamicObjectInvoker:DynamicObject
        {
            public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
            {
                Console.WriteLine(binder.Name + " method was called");
                result = null;
                return true;
            }
        }
     static void DynamicInvokeMemberDemo()
            {
                dynamic doi = new DynamicObjectInvoker();
                doi.MakeMoney();
                doi.MakeBigMoney();
            }

    static void ExpandObjectDemo()
            {
                dynamic x = new ExpandoObject();
                x.FavoriteColor = ConsoleColor.Green;
                x.FavoriteNumber = 7;
                Console.WriteLine(x.FavoriteColor);
                Console.WriteLine(x.FavoriteNumber);
    
                var dict = (IDictionary<string, object>)x;
                Console.WriteLine(dict["FavoriteColor"]);
                Console.WriteLine(dict["FavoriteNumber"]);
                Console.WriteLine(dict.Count);
            }

    C# can also interoperate with Dynamic language such as IronPython.The DLR can parse lexical and sematic statement.

     static void Main(string[] args)
            {
                int result = (int)Calculate("2*3");
                Console.WriteLine(result);
                Console.ReadLine();
            }
    
            static object Calculate(string expression)
            {
                ScriptEngine engine = Python.CreateEngine();
                return engine.Execute(expression);
            }
  • 相关阅读:
    linux安装mongodb
    redis的安装
    leetcode——127.单词接龙
    leetcode——77.组合
    leetcode——47.全排列II
    leetcode ——46.全排列
    leetcode——90.子集II
    leetcode——78.子集
    TCP/IP——ARP地址解析协议
    leetcode——135.分发糖果
  • 原文地址:https://www.cnblogs.com/Fred1987/p/13636397.html
Copyright © 2011-2022 走看看