你是想通过反射获得该类所有属性值或是给所有属性赋值吧。用getMethods获取所有的getter和setter方法,再取值或赋值。但不要用getDeclaredMethods,因为getMethods反映此 Class 对象所表示的类或接口(包括那些由该类或接口声明的以及从超类和超接口继承的那些的类或接口)的公共 member 方法;而getDeclaredMethods反映此 Class 对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。
这也许是框架注入属性值都采用setter注入的原因吧。
------解决方案--------------------------------------------------------C# code private void dynamicRun() { string filePath = @"D:\ScheduledJob\DLL\ScheduleJobdll"; string typeName = "ScheduleJobDailyInfo"; // string methodName = "SendDailyInfo"; string methodArgs = "hello,this is dynamic Demo"; try { //载入Assembly Assembly a = AssemblyLoadFrom(filePath); //应用dynamic自动实现反射 dynamic o = aCreateInstance(typeName, false, BindingFlagsCreateInstance, null, null, null, null); //这里直接写要执行的方法和参数 oSendDailyInfo(methodArgs); } catch (Exception ex) { ConsoleWriteLine("Cannot run dynamic " + exInnerException); } }------解决方案--------------------------------------------------------dynamic也是一个object。其它的说了也是白说。
这个bean并不是你想要的。。是spring生成的一个代理哈。。
因为这个是代理。。所以还没有创建你真正想要的目标。。也就是说你想要的目标不存在。。所以我觉得没有办法哦。。
不过真正的实例是你使用它的时候创建的。。你可以在调用这个方法前先使用一下她。。比如调用一下他的方法。。
以上就是关于通过反射,如何获得子类继承自父类的属性全部的内容,包括:通过反射,如何获得子类继承自父类的属性、dynamic对象怎么通过反射获取其所有属性名称、如何通过反射获取Spring scoped bean的所有属性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)