0
点赞
收藏
分享

微信扫一扫

C# 反射

黎轩的闲暇时光 2022-01-15 阅读 62
c#linq.net

反射:来自System.Reflection命名空间的帮助类库;
    高级语言——计算机语言的过程:编译:dll/exe
    metadata:元数据——数据清单:描述了dll中包含了那些东西
    IL:中间语言——也是面向对象语言
    
    反射:可以读取并使用dll中metadata,使用dll中的功能;
    
    反射需要过程:
    第一步:获取程序集
    Assembly assembly1=Assembly.Load("类库名称");
    Assembly assembly2=Assembly.LoadFrom("类库名称.dll");
    Assembly assembly3=Assembly.LoadFile("全路径+类库名称.dll");
    
    第二步:获取类型
    Type type=assembly1.GetType("");类的全名称(命名空间+类名)
    
    第三步:创建对象
    object? oInstrance=Activator.CreateInstrance(type);
    
    //第四步:调用方法
        //1、oInstrance是Object类型;
        //2、因为C#是强类型语言,编译时要确定类型,编译以左边为准左边是Object类型,编译器认为当前是Object类型,因为Object类型没有
           //Query(),所以编译错误;
        oInstrance.Query();
    //(类名)oInstrance.Query();
    
    第四步:类型转换
    IDbHelper dbHelper=oInstrance as IDbHelper;
    
    第五步:调用方法
    dbHelper.Query();

举报

相关推荐

c# 反射

C#反射

C#反射机制

C#基础--反射

C# 反射理解

C#【进阶】反射

c#反射用法

0 条评论