Questions tagged «reflection»

反射是程序在运行时观察和/或修改其结构和/或行为的能力。反射取决于支持的编程语言-请在使用此标记时标记正在使用的编程语言。

10
通过字符串从C#动态对象获取属性值(反射?)
假设我有一个动态变量: dynamic d = *something* 现在,我d从字符串数组创建我拥有的属性: string[] strarray = { 'property1','property2',..... } 我事先不知道属性名称。 d创建代码并将strarray从数据库中提取后,如何在代码中获取值? 我想得到d.property1 , d.property2。 我看到该对象有一个_dictionary内部字典,其中包含键和值,如何检索它们?

6
用反射设置私有字段值
我有2个班级:Father和Child public class Father implements Serializable, JSONInterface { private String a_field; //setter and getter here } public class Child extends Father { //empty class } 通过反思,我想a_field在Child课堂上设置: Class<?> clazz = Class.forName("Child"); Object cc = clazz.newInstance(); Field f1 = cc.getClass().getField("a_field"); f1.set(cc, "reflecting on life"); String str1 = (String) f1.get(cc.getClass()); System.out.println("field: " + …
76 java  reflection 

3
如何使用反射来调用.NET中的重载方法
有没有一种方法可以使用.NET(2.0)中的反射来调用重载方法。我有一个应用程序,该应用程序可以动态实例化从通用基类派生的类。出于兼容性目的,此基类包含2个同名的方法,一个带有参数,另一个不带参数。我需要通过Invoke方法调用无参数方法。现在,我得到的只是一个错误,告诉我我正在尝试调用一个模棱两可的方法。 是的,我可以将对象强制转换为基类的实例,然后调用所需的方法。最终将发生这种情况,但是现在,内部复杂性是不允许的。 任何帮助将是巨大的!谢谢。

5
NoSuchFieldException字段存在时
我java.lang.NoSuchFieldException在尝试运行以下方法时遇到问题: public void getTimes(String specialty, String day) { ArrayList<Tutor> withSpec = new ArrayList<Tutor>(); for (Tutor t : tutorList){ try { Time startTime = (Time)t.getClass().getField(day + "Start").get(t); } catch (NoSuchFieldException | SecurityException | IllegalAccessException ex) Logger.getLogger(DBHandler.class.getName()).log(Level.SEVERE, null, ex); } 错误就在网上 Time startTime = (Time)t.getClass().getField(day + "Start").get(t); 我不明白此错误,因为monStart是Tutor该类的字段: Public class Tutor implements …
75 java  reflection 



5
获取类型的默认构造函数的最有效方法
获取System.Type的默认构造函数(即无参数的实例构造函数)的最有效方法是什么? 我在想下面的代码,但似乎应该有一种更简单有效的方法。 Type type = typeof(FooBar) BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance; type.GetConstructors(flags) .Where(constructor => constructor.GetParameters().Length == 0) .First();
73 c#  .net  reflection 

7
是否可以在运行时从Android应用程序动态加载库?
有什么方法可以使Android应用程序在运行时下载和使用Java库? 这是一个例子: 想象一下,应用程序需要根据输入值进行一些计算。应用程序要求这些输入值,然后检查所需的Classes或Methods是否可用。 如果没有,它将连接到服务器,下载所需的库,然后在运行时将其加载以使用反射技术调用所需的方法。实现可能会根据各种标准(例如正在下载库的用户)而更改。

6
将IsAssignableFrom与“开放”通用类型一起使用
使用反射,我试图找到从给定基类继承的一组类型。不需要很长时间就可以找到简单类型,但是在泛型方面我感到很困惑。 对于这段代码,第一个IsAssignableFrom返回true,但是第二个返回false。但是,最终的任务编译就可以了。 class class1 { } class class2 : class1 { } class generic1<T> { } class generic2<T> : generic1<T> { } class Program { static void Main(string[] args) { Type c1 = typeof(class1); Type c2 = typeof(class2); Console.WriteLine("c1.IsAssignableFrom(c2): {0}", c1.IsAssignableFrom(c2)); Type g1 = typeof(generic1<>); Type g2 = typeof(generic2<>); Console.WriteLine("g1.IsAssignableFrom(g2): …

9
打印类中的所有变量值
我有一堂课,其中包含有关Person的信息,看起来像这样: public class Contact { private String name; private String location; private String address; private String email; private String phone; private String fax; public String toString() { // Something here } // Getters and setters. } 我想toString()返回this.name +" - "+ this.locations + ...所有变量。我试图使用反射来实现它,如该问题所示,但是我无法打印实例变量。 解决此问题的正确方法是什么?
72 java  reflection 


3
给定其字符串名称,如何实例化一个类?
我有一个抽象类,我想将其初始化为扩展它的类。 我有子类名称作为字符串。 除此之外... String childClassString; MyAbstractClass myObject; if (childClassString = "myExtenedObjectA") myObject = new ExtenedObjectA(); if (childClassString = "myExtenedObjectB") myObject = new ExtenedObjectB(); 我怎样才能做到这一点?基本上,我该如何摆脱if语句?

3
如何从.net中的数组类型获取数组项类型
说我有一个System.String[]类型对象。我可以查询类型对象以确定它是否是数组 Type t1 = typeof(System.String[]); bool isAnArray = t1.IsArray; // should be true 但是如何从t1获取数组项的类型对象 Type t2 = ....; // should be typeof(System.String)
71 .net  reflection  types 

4
Java反射:创建一个实现类
Class someInterface = Class.fromName("some.package.SomeInterface"); 现在如何创建一个实现的新类someInterface? 我需要创建一个新类,并将其传递给需要使用aSomeInterface作为参数的函数。

5
获取当前方法的名称
这是一个愚蠢的问题,但是是否有可能从该方法中获取当前正在执行的方法的名称? Public Sub SomeMethod() Dim methodName as String = System.Reflection.[function to get the current method name here?] End Sub 谢谢

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.