首页 > 代码库 > 反射示例1-----执行反射dll的方法和获取属性的值
反射示例1-----执行反射dll的方法和获取属性的值
项目结构:
将Document类库生成的DLL文件放在ConsoleApplication2\ConsoleApplication2\bin\Debug文件夹下
-------------------------------------------------------------Document.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Document { public class Document { public string Name = "李四"; public string GetName(string name) { return name; } } }
-------------------------------------------------------------Program.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Reflection; using System.IO; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { //获取程序集 Assembly asb = Assembly.LoadFrom(Directory.GetCurrentDirectory() + "/Document.dll"); //获取程序集下面的Document类 Type document = asb.GetType("Document.Document"); //实例化Document类对象(有参数的话需要传递object参数) object docObj = Activator.CreateInstance(document); //获取Document类中的方法 MethodInfo mi = document.GetMethod("GetName"); //参数 object[] parameter = new object[] { "张三" }; Console.WriteLine(mi.Invoke(docObj, parameter).ToString());//输出方法的返回值:张三 //获取Document类中的属性 FieldInfo pi = document.GetField("Name"); Console.WriteLine(pi.GetValue(docObj));//输出方法的属性:李四 Console.ReadKey(); } } }
本文出自 “程序猿的家--Hunter” 博客,请务必保留此出处http://962410314.blog.51cto.com/7563109/1571868
反射示例1-----执行反射dll的方法和获取属性的值
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。