/// <summary>
/// 反射调用(获取方法以及动态调用方法)
/// </summary>
/// <param name="spacename">命名空间</param>
/// <param name="function">方法名称</param>
public static void ReflectionToActive(string spacename, string function, string content)
{
try
{
if (spacename != "" && function != "" && content != "")
{
Type t = Type.GetType(spacename); //获取类型信息
object[] constuctParms = new object[] { }; //构造器的参数
object dObj = Activator.CreateInstance(t, constuctParms); //根据类型创建对象
MethodInfo method = t.GetMethod(function); //获取方法的信息
//调用方法的一些标志位,这里的含义是Public并且是实例方法,这也是默认值
BindingFlags flag = BindingFlags.Public | BindingFlags.Instance;
object[] parameters = new object[] { content }; //方法的参数
method.Invoke(dObj, flag, Type.DefaultBinder, parameters, null); //调用方法,用一个object接收返回值
}
}
catch (System.Exception err)
{
//记录系统错误日志
}
}
C#反射
原创
©著作权归作者所有:来自51CTO博客作者527087796的原创作品,谢绝转载,否则将追究法律责任
上一篇:jquery的悬浮层方法
下一篇:C#抽象工厂方法
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C#反射实例
C#反射的入门学习首先要明白C#反射提供了封装程序集、模块和类型的对象等等。那么这样可以使用反射动态创建类型
c# 命名空间 程序集 字段 数据类型 -
C#反射技术
反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)=后生成
c# assembly string .net 编译器