`
wjboy49
  • 浏览: 275498 次
  • 性别: Icon_minigender_1
  • 来自: 湖南岳阳
社区版块
存档分类
最新评论

C#的Assembly反射机制

    博客分类:
  • c#
阅读更多
通过C#的Assembly反射机制可以动态的调用一个类以及该类中的方法和属性:

string spath = this.TargetPath.Trim().Trim('\\')+"\\DB.dll"; 

Assembly a = Assembly.LoadFrom(spath);  //获得dll路径
Type calltype = a.GetType("SystemAdmin.DbBase");
object Callobject = Activator.CreateInstance(calltype);  //Activator.CreateInstance创建实例

string method =  "sGetSubSystemID";
object returnvalue = 0;
Type t = Callobject.GetType();
MethodInfo [] m = t.GetMethods() ;
object result;  

for(int i = 0; i < m.Length; i++)
{
    if(m[i].Name == method)
    {
        result = m[i].Invoke(Callobject,null);
    }
}
分享到:
评论

相关推荐

    C#反射机制

    C#里面详解反射机制, Assembly类可以获得程序集的信息,也可以动态的加载程序集,以及在程序集中查找类型信息,并创建该类型的实例。 使用Assembly类可以降低程序集之间的耦合,有利于软件结构的合理化。

    c#插件模式 ——例子(利用反射机制)

    c#插件模式 ——例子(利用反射机制) foreach (ListViewItem item in listView1.Items) { if (item.Checked) { Assembly assembly = Assembly.LoadFile(Path.Combine(pluginpath, "TestComWin.dll")); // ...

    C#反射机制.doc

    System.Reflection.Assembly System.Reflection.MemberInfo System.Reflection.EventInfo System.Reflection.FieldInfo System.Reflection.MethodBase System.Reflection.ConstructorInfo System.Reflection....

    01:详解C#中的反射.pdf

    反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类、结构、委托、接口和枚举等)的成员和成员的信息。有了反射,即可对每一个类型了如指掌。另外我还可以直接创建对象,即使这个...

    .NET/C#利用反射调用含ref或out参数的方法示例代码

    反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类、结构、委托、接口和枚举等)的成员和成员的信息。有了反射,即可对每一个类型了如指掌。另外我还可以直接创建对象,即使这个...

    c#反射机制学习和利用反射获取类型信息

    1、.NET可执行应用程序结构 程序代码在编译后生成可执行的应用,我们首先要了解这种可执行应用程序的结构。 应用程序结构分为应用程序域—程序集—模块—类型...(1)使用Assembly定义和加载程序集,加载在程序集清单

    C#反射的一些应用

    反射的定义:反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、...

    C#中实现判断某个类是否实现了某个接口

    有时我们需要判断某个类是否实现了某个接口(Interface),比如在使用反射机制(Reflection)来查找特定类型的时候。 简单来说,可以使用Type.IsAssignableFrom方法: typeof(IFoo).IsAssignableFrom(bar.GetType()...

    C#中的程序集和反射介绍

    1.程序集(assembly)是一个及一个以上托管模块,以及一些资源文件的逻辑组合。 2.程序集是组件复用,以及实施安全策略和版本策略的最小单位。 3.程序集是包含一个或者多个类型定义文件和资源文件的集合。在程序集包含...

    Spring.net框架

    t.InvokeMember(prop.propertyName, ........BindingFlags.SetProperty, null, o, new Object[] {p})利用反射机制对创建出来的对象设置属性值。 我们的Factory就是利用这种方式根据配置文件动态加载程序集,动态创建...

    asp.net知识库

    多样式星期名字转换 [Design, C#] .NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. ...

Global site tag (gtag.js) - Google Analytics