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);
            }
  • 相关阅读:
    SQL Server分页存储过程研究
    sql子查询 嵌套SELECT实用语句
    SQL语句优化
    CSS开发中常用技巧总结
    Html.DropDownList 的用法
    ADOStoredProc动态调用存储过程
    Sql Server 乐观锁和悲观锁理解和应用
    DOM 解析操作知识
    Java 中 Jar 命令的使用
    CDATA 基本知识
  • 原文地址:https://www.cnblogs.com/Fred1987/p/13636397.html
Copyright © 2011-2022 走看看