C# 关于反射类[System.Reflection]的一个小例子[转载]
//新建一个类库项目,增加一个GetSum方法。
using System;
namespace ClassLibrary1
{
public class Class1
{
public Class1()
{
}
public int GetSum(int x, int y)
{
return x + y;
}
}
}
//再另建一个项目,在项目中引用上面生成的ClassLibrary1.DLL
System.Reflection.Assembly a = System.Reflection.Assembly.LoadFrom("ClassLibrary1.DLL");
System.Type t = a.GetType("ClassLibrary1.Class1");
//动态生成ClassLibrary1.Class类的实例
Object theObj = System.Activator.CreateInstance(t);
//参数信息,GetSum需要两个int参数
System.Type[] paramTypes = new System.Type[2];
paramTypes[0] = System.Type.GetType("System.Int32");
paramTypes[1] = System.Type.GetType("System.Int32");
//获取方法
System.Reflection.MethodInfo mi = t.GetMethod("GetSum", paramTypes);
//参数值
Object[] parameters = new Object[2];
parameters[0] = 3;
parameters[1] = 4;
//调用
Object returnValue = mi.Invoke(theObj, parameters);
Console.WriteLine("ClassLibrary1.Class1.GetSum(3, 4) returns: {0}", returnValue.ToString());
分享到:
相关推荐
元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。 System.reflection命名空间包含的几个类,允许你反射(解析)这些...
C#System.Drawing.dll,导入unityPlugins文件下,system.drawing.dll文件下载,解决找不到system.drawing.dll的问题
反射可以有很多方法,编写程序时请先导入 System.Reflection 命名空间。 1、假设你要反射一个 DLL 中的类,并且没有引用它(即未知的类型): Assembly assembly = Assembly.LoadFile(程序集路径,不能是...
System.Data.SQLite.DLL C# 读写sqlite数据库 亲测可用 不能读取加密的sqlite数据库
c#封装的oracle访问类(基于System.Data.OracleClient)
C#写的linq表达式序列化等功能的源码。
C# File 类 (System_IO)
使用System.IO.Ports读取COM口数据 关于C#串口编程的介绍
QLite操作驱动的dll。下载完成后,新建一个winform项目,在引用中添加[System.Data.SQLite.dll],并在[Form.cs]中添加[using System.Data.SQLite;]
c# 反射(Reflection)例子
C#反射机制源码学习.rar C#反射机制源码学习.rar C#反射机制源码学习.rar
的应用例子,C#源代码 Point[] points = { new Point(40, 60), new Point(50, 70), new Point(30, 90)}; GraphicsPath path = new GraphicsPath(); path.StartFigure(); // Start ...
C# Unity3d System.Web源码
System.Runtime.Serialization.dll System.Runtime.Serialization.dll System.Runtime.Serialization.dll
System.Web.Helpers.dll
Parser Error Message: Could not load file or assembly 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. 系统找不到指定的文件。 ...
//反射创建 DataCache.SetCache(ClassNamespace, objType);// 写入缓存 } catch (System.Exception ex) { LogHelper.WriteLog(typeof(DataAccess), LogType_Enum.Error, ex); return null; } } return ...
显示系统时间,System.DateTime.Now.ToLongTimeString()C#源代码 VisualStudio2008创建
解决删除目录提示:System.IO.IOException: 目录不是空的
调用第三方 Spire.Pdf的例子。保存进行打印。 Spire.Pdf