zoukankan      html  css  js  c++  java
  • C# 如何利用反射来加载程序集,并调用程序集中有关类的方法

    假设在C盘根目录下有个Dog的Dll程序集文件,该程序集文件中包含类Dog 该类中有个狗叫几声的方法,如何通过反射来加载这个C:\Dog.dll,并且调用Dog类里面的Sound方法呢:

    public class Dog

        public void Sound(int count)

        { Console.WriteLine("叫了{0}声",count); }

    }

    具体如下:

    首先反射主要用到了System.Reflection命名空间,所以程序中一定要引用这个命名空间。

    using System.Reflection;
    写个测试方法如下:

    public void Test()

    {

      string assemblyFilePath= @"C:\Dog.dll";

      Assembly ass= Assembly.LoadFile(assemblyFilePath);

      Type t = ass.GetType("Dog",false,false);

      MethodInfo  info = t.GetMethod("Sound");

     object instance = Activator.CreateInstance(t);

     info.Invoke(instance,new object[]{2});//狗叫了两声

    }

  • 相关阅读:
    读《大道至简》第一章有感
    jdk和jre的区别
    题解 LA2911
    题解 UVa11461
    题解 UVa10791
    题解 UVa11489
    题解 LA2889
    题解 UVa11609
    题解 UVa11076
    题解 UVa11752
  • 原文地址:https://www.cnblogs.com/shaosks/p/shaoks.html
Copyright © 2011-2022 走看看