asp.net动态加载程序集创建指定类的实例及调用指定方法
2017-06-23 17:08
706 查看
以下类中有三个方法:
LoadAssembly:加载指定路径的程序集
GetInstance:根据Type动态获取实例,用泛型接到返回的类型
ExecuteMothod:执行实例中的指定方法
/// <summary> /// 继承自MarshalByRefObject表示允许跨域通信 /// </summary> public class RemoteLoader : MarshalByRefObject { private Assembly _assembly; public void LoadAssembly(string assemblyFile) { try { _assembly = Assembly.LoadFrom(assemblyFile); //return _assembly; } catch (Exception ex) { throw ex; } } public T GetInstance<T>(string typeName) where T : class { if (_assembly == null) return null; var type = _assembly.GetType(typeName); if (type == null) return null; return Activator.CreateInstance(type) as T; } public void ExecuteMothod(string typeName, string methodName) { if (_assembly == null) return; var type = _assembly.GetType(typeName); var obj = Activator.CreateInstance(type); Expression<Action> lambda = Expression.Lambda<Action>(Expression.Call(Expression.Constant(obj), type.GetMethod(methodName)), null); lambda.Compile()(); } }
相关文章推荐
- c# 创建DLL,动态加载dll文件,并调用其中的方法(转自CFEI.NET)
- asp.net 中静态方法和动态方法调用的区别实例分析
- asp.net 中静态方法和动态方法调用的区别实例分析
- 在ASP.NETAtlas中调用WebService——创建Mashup调用远端WebService(GoogleSearch实例)
- 利用反射来动态创建实例和调用方法
- prototype+asp.net实例1加载页面方法
- ASP.net AJAX 调用PageMethods实例(javascript调用服务器页面方法)
- 在ASP.NET Atlas中调用Web Service——创建Mashup调用远端Web Service(Google Search实例)
- 动态改变ASP.net页面标题和动态指定页面样式表的方法
- 总结Asp.net中Page加载PostData的具体过程 进而解决"获取动态创建的控件的PostData数据"问题
- asp.net ext treepanel 动态加载XML的实现方法
- asp.net ext treepanel 动态加载XML的实现方法
- ASP.net AJAX 调用PageMethods实例(javascript调用服务器页面方法)
- asp.net oracle 无法加载 DLL (oci.dll) 无法加载 DLL (oci.dll) 未将对象引用设置到对象的实例,解决方法
- asp.net 动态调用web service的方法
- 利用.net反射动态调用指定程序集的中的方法
- 在asp.net页面中动态调用方法
- 利用反射来动态创建实例和调用方法
- ASP.NET动态加载用户控件的实现方法
- 总结Asp.net中Page加载PostData的具体过程 进而解决"获取动态创建的控件的PostData数据"问题