Articles of reflexión de

Reflexión: ¿cómo obtener un método genérico?

Posibles duplicados: ¿Cómo usar la reflexión para llamar al método genérico? Seleccione el método genérico correcto con la reflexión Hola Digamos que tengo dos siguientes dos métodos en una clase: public void MyMethod(object val) {} public void MyMethod(T val) {} Con la reflexión, podría obtener el primer Método así: Type[] typeArray = new Type[1]; typeArray.SetValue(typeof(object), […]

¿Por qué el reflection puede acceder al miembro protegido / privado de la clase en C #?

¿Por qué el reflection puede acceder al miembro protegido / privado de la clase en C #? ¿Esto no es seguro para la clase, por qué la reflexión recibe tal poder? ¿Es esto un antipatrón ?

¿Cómo creo una instancia a partir de una cadena en C #?

Estoy leyendo información de un XML que contiene el tipo de objeto que necesito instanciar junto con sus parámetros de constructor. El tipo de objeto está realmente en otro proyecto, dentro de un espacio de nombres hermano. (Necesito crear un Company.Project2.Type dentro de la clase Company.Project1). Encontré esta pregunta , pero no maneja los parámetros […]

Reflexión C # – Obtenga valores de campo de una clase simple

Tengo una clase: class A { public string a = “A-val” , b = “B-val”; } Quiero imprimir los elementos del objeto por reflexión //Object here is necessary. Object data = new A(); FieldInfo[] fields = data.GetType().GetFields(); String str = “”; foreach(FieldInfo f in fields){ str += f.Name + ” = ” + f.GetValue(data) + […]

Cómo enumerar todas las variables de clase

¿Hay alguna manera de enumerar todas las variables (campos) de una clase en C #. Si es así, ¿podría alguien darme algunos ejemplos de cómo guardarlos en una List y obtenerlos tal vez utilizando los Anonymous Types (var).

¿Cómo deshabilitar el administrador de seguridad de Java?

¿Hay alguna manera de deshabilitar completamente el administrador de seguridad de Java? Estoy experimentando con el código fuente de db4o. Utiliza la reflexión para persistir objetos y parece que el administrador de seguridad no permite que la reflexión lea y escriba campos privados o protegidos. Mi código: public static void main(String[] args) throws IOException { […]

Mira si se llama un método dentro de un método usando la reflexión

Estoy trabajando con la reflexión y actualmente tengo un MethodBody . ¿Cómo puedo verificar si se llama un método específico dentro del MethodBody? Assembly assembly = Assembly.Load(“Module1”); Type type = assembly.GetType(“Module1.ModuleInit”); MethodInfo mi = type.GetMethod(“Initialize”); MethodBody mb = mi.GetMethodBody();

Verificar si una propiedad existe en una clase

Intento saber si una propiedad existe en una clase, intenté esto: public static bool HasProperty(this object obj, string propertyName) { return obj.GetType().GetProperty(propertyName) != null; } No entiendo por qué el primer método de prueba no pasa? [TestMethod] public void Test_HasProperty_True() { var res = typeof(MyClass).HasProperty(“Label”); Assert.IsTrue(res); } [TestMethod] public void Test_HasProperty_False() { var res = […]

AddEventHandler usando la reflexión

Tengo este código que no funciona: public CartaoCidadao() { InitializeComponent(); object o = WebDAV.Classes.SCWatcher.LoadAssembly(); MethodInfo method = this.GetType().GetMethod(“Inserted”, BindingFlags.NonPublic | BindingFlags.Instance); EventInfo eventInfo = o.GetType().GetEvent(“CardInserted”); Type type = eventInfo.EventHandlerType; Delegate handler = Delegate.CreateDelegate(type, this , method); eventInfo.AddEventHandler(o, handler); } void Inserted(string readerName, string cardName) { System.Windows.Forms.MessageBox.Show(readerName); } La tarjeta de evento insertada existe en otro […]

¿Cómo obtener anotaciones de una variable miembro?

Quiero saber las anotaciones de una variable miembro de una clase, utilizo BeanInfo beanInfo = Introspector.getBeanInfo(User.class) para introspectar una clase, y uso BeanInfo.getPropertyDescriptors() , para encontrar una propiedad específica, y uso Class type = propertyDescriptor.getPropertyType() para obtener la clase de la propiedad. ¿Pero no sé cómo hacer que las anotaciones se agreguen a la variable […]