dynamic关键字是编译器不检查类型

Posted tangjiaoshu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dynamic关键字是编译器不检查类型相关的知识,希望对你有一定的参考价值。

dynamic关键字是排除编译器检查类型,运行的时候才会被检查。

调用反射Dll种的方法可以使用dynamic

using Ruanmou.DB.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ruanmou.DB.mysql
{
    public class MySqlHelper : IDBHelper
    {
        public MySqlHelper()
        {
            Console.WriteLine("{0}被构造", this.GetType().Name);
        }


        public void Query()
        {
            Console.WriteLine("{0}.Query", this.GetType().Name);
        }
    }
}
dynamic 的使用
Assembly assembly = Assembly.Load("Ruanmou.DB.MySql");//1 动态加载
Type type = assembly.GetType("Ruanmou.DB.MySql.MySqlHelper");//2 获取类型 完整类型名称
dynamic dDBHelper= Activator.CreateInstance(type);
dDBHelper.Query();//dynamic编译器不检查,,运行时才检查

 

以上是关于dynamic关键字是编译器不检查类型的主要内容,如果未能解决你的问题,请参考以下文章

C#用dynamic一行代码实现反射操作

关于继承中的强制类型转换

C#的dynamic使用中有啥需要注意的地方,以免滥用

C#中dynamic的正确用法

C#中dynamic的正确用法

Dart语言关键词之dynamic