专业的做网站的,做团餐的企业网站,沈阳免费建网站,北京网站建站推反射是什么#xff1f;官方给出的解释#xff1a;反射提供了封装程序集、模块和类型的对象#xff08;System.Type类型#xff09;。可以使用反射动态创建类型的实例#xff0c;将类型绑定到现有对象#xff0c;或从现有对象获取类型并调用其方法或访问其字段和属性。 个… 反射是什么官方给出的解释反射提供了封装程序集、模块和类型的对象System.Type类型。可以使用反射动态创建类型的实例将类型绑定到现有对象或从现有对象获取类型并调用其方法或访问其字段和属性。 个人理解在运行态下动态访问、修改自身的功能。今天我们利用反射为程序动态加载程序集AssemblySystem.Reflection命名空间是我们实现该功能的基础。 代码如下 public static void Main(string[] args)
{//AssemblyResolve事件在.Net对程序集解析失败时触发返回一个Assembly对象。AppDomain.CurrentDomain.AssemblyResolve new ResolveEventHandler(OnResolve);//功能Startup();
}public static Assembly OnResolve(object sender, ResolveEventArgs args)
{var assemblyName new AssemblyName(args.Name);string path ;if (assemblyName.Name.EndsWith(WuXiaoBo))path C:\Program Files\Java\wuxiaobo.dll;if (string.IsNullOrEmpty(path) false File.Exists(path))return Assembly.LoadFrom(path);return null;
}public static void Startup()
{//调用程序集中包含的接口接口不能直接放在Main中。
}代码很简单就不过多解释了。 参考资料 https://docs.microsoft.com/zh-cn/dotnet/api/system.appdomain.assemblyresolve?viewnetframework-4.6.1 https://www.cnblogs.com/darrenji/archive/2014/09/26/3995450.html http://blog.junwen38.com/archives/656 转载于:https://www.cnblogs.com/boxy/p/11453809.html