Articles of reflexión

¿Cuál es la mejor manera de obtener un objeto Class para un tipo de matriz?

Es fácil obtener una clase literal para una clase: String.class Pero, ¿cómo puedo obtener un objeto de clase para un tipo de matriz? Esto funciona, pero es feo, y probablemente no una constante de tiempo de comstackción: new byte[0].getClass() Miré en el JLS pero lo único que descubrí es que lo que llamo un “literal […]

Obtener propiedades de una clase usando Typescript

¿Hay alguna manera de obtener nombres de clase de propiedades en TypeScript: en el ejemplo me gustaría ‘describir’ la clase A o cualquier clase y obtener una matriz de sus propiedades (tal vez solo una pública?), ¿Es posible? ¿O debería crear una instancia del objeto primero? class A { private a1; private a2; /** Getters […]

¿Cómo saber si una propiedad es una propiedad implementada automáticamente con reflexión?

Entonces en mi caso estoy descubriendo la estructura de una clase usando la reflexión. Necesito poder averiguar si una propiedad es una propiedad implementada automáticamente por el objeto PropertyInfo. Supongo que la API de reflexión no expone dicha funcionalidad porque las auto-propiedades dependen de C #, pero ¿hay alguna solución para obtener esta información?

¿Cómo obtener los nombres de los parámetros de los constructores de un objeto (reflection)?

Supongamos que de alguna manera obtuve una referencia de objeto de otra clase: Object myObj = anObject; Ahora puedo obtener la clase de este objeto: Class objClass = myObj.getClass(); Ahora, puedo obtener todos los constructores de esta clase: Constructor[] constructors = objClass.getConstructors(); Ahora, puedo iterar cada constructor: if (constructors.length > 0) { for (int i […]

GetEntryAssembly para aplicaciones web

Assembly.GetEntryAssembly () no funciona para aplicaciones web. Pero … realmente necesito algo así. Trabajo con un código profundamente nested que se usa en aplicaciones web y no web. Mi solución actual es buscar StackTrace para encontrar el primer conjunto llamado. /// /// Version of ‘GetEntryAssembly’ that works with web applications /// /// The entry assembly, […]

Cómo trabajar con varargs y reflexión

Pregunta simple, ¿cómo funciona este código? public class T { public static void main(String[] args) throws Exception { new T().m(); } public // as mentioned by Bozho void foo(String… s) { System.err.println(s[0]); } void m() throws Exception { String[] a = new String[]{“hello”, “kitty”}; System.err.println(a.getClass()); Method m = getClass().getMethod(“foo”, a.getClass()); m.invoke(this, (Object[]) a); } } […]

Cómo ocultar los métodos públicos de intellisense

Quiero ocultar los métodos públicos de la lista de miembros intellisense. Creé un atributo que cuando se aplica a un método hará que se llame al método cuando se construye su objeto. Hice esto para apoyar mejor las clases parciales. El problema es que en algunos entornos (como Silverlight), la reflexión no puede acceder a […]

¿Cómo puedo obtener el valor de una propiedad de cadena mediante Reflection?

public class Foo { public string Bar {get; set;} } ¿Cómo obtengo el valor de Bar, una propiedad de cadena, a través de la reflexión? El siguiente código lanzará una excepción si el tipo de PropertyInfo es un System.String Foo f = new Foo(); f.Bar = “Jon Skeet is god.”; foreach(var property in f.GetType().GetProperties()) { […]

Cómo verificar si el tipo de variable coincide con Tipo almacenado en una variable

User u = new User(); Type t = typeof(User); u is User -> returns true u is t -> comstacktion error ¿Cómo pruebo si alguna variable es de algún tipo de esta manera?

Reflexión de Java: crear una clase de implementación

Class someInterface = Class.fromName(“some.package.SomeInterface”); ¿Cómo creo ahora una nueva clase que implemente someInterface ? Necesito crear una nueva clase y pasarla a una función que necesite SomeInterface como argumento.