C# Dynamic

Dynamic 类型可以绕过编译器的类型检查,改为在运行时解析。

例:类型A,B都有属性Name,Dodynamic的参数可以是A也可以是B,

o.Name在编译时不会报错,在运行时根据传入的参数(A或B)执行A.Name或者B.Name

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace dynamic类型
{
    class Program
    {
        static void Main(string[] args)
        {
            A a = new A();
            a.Name = "dog";
            Dodynamic(a);
            Console.ReadKey();
        }

        private static void Dodynamic(dynamic o)
        {
            Console.WriteLine(o.Name);
        }
    }
    public  class A
    {
        public string Name { set; get; }
    }
    public  class B
    {
        public string Name { set; get; }
    }
}

 

posted on 2017-07-23 10:21  苹果园dog  阅读(172)  评论(0编辑  收藏  举报

导航