Articles of reflexión

¿Cómo invoco un método estático privado usando reflection (Java)?

Me gustaría invocar un método estático privado. Tengo su nombre He oído que se puede hacer utilizando el mecanismo de reflexión de Java. ¿Cómo puedo hacerlo? EDITAR: Un problema que encontré al intentar invocar el método es cómo especificar el tipo de su argumento. Mi método recibe un argumento y su tipo es Map. Por […]

Cómo obtener un valor de propiedad basado en el nombre

¿Hay alguna forma de obtener el valor de una propiedad de un objeto en función de su nombre? Por ejemplo si tengo: public class Car : Vehicle { public string Make { get; set; } } y var car = new Car { Make=”Ford” }; Quiero escribir un método donde pueda pasar el nombre de […]

Encuentra dinámicamente la clase que representa un tipo primitivo de Java

Necesito hacer algunas llamadas a métodos reflexivos en Java. Esas llamadas incluirán métodos que tienen argumentos que son tipos primitivos (int, double, etc.). La forma de especificar dichos tipos al buscar el método de forma reflexiva es int.class, double.class, etc. El desafío es aceptar una entrada de una fuente externa que especifique los tipos dinámicamente. […]

¿Por qué algunas expresiones lambda C # comstackn a métodos estáticos?

Como puede ver en el siguiente código, he declarado un objeto Action como una variable. ¿Alguien podría decirme por qué este delegado de método de acción se comporta como un método estático? ¿Por qué vuelve true en el siguiente código? Código: public static void Main(string[] args) { Action actionMethod = s => { Console.WriteLine(“My Name […]

Nombre de la propiedad INotifyPropertyChanged – hardcode vs reflection?

¿Cuál es la mejor manera de especificar un nombre de propiedad cuando se utiliza INotifyPropertyChanged? La mayoría de los ejemplos codifican el nombre de la propiedad como un argumento en el evento PropertyChanged. Estaba pensando en usar MethodBase.GetCurrentMethod.Name.Substring (4) pero estoy un poco incómodo con la reflexión de arriba.

Encontrar diferencias de propiedad entre dos objetos C #

El proyecto en el que estoy trabajando necesita un simple registro de auditoría para cuando un usuario cambia su correo electrónico, dirección de facturación, etc. Los objetos con los que trabajamos provienen de diferentes fonts, una es un servicio WCF y la otra es un servicio web. Implementé el siguiente método usando la reflexión para […]

Cómo probar si el tipo es primitivo

Tengo un bloque de código que serializa un tipo en una etiqueta Html. Type t = typeof(T); // I pass in as a paramter, where myObj is of type T tagBuilder.Attributes.Add(“class”, t.Name); foreach (PropertyInfo prop in t.GetProperties()) { object propValue = prop.GetValue(myObj, null); string stringValue = propValue != null ? propValue.ToString() : String.Empty; tagBuilder.Attributes.Add(prop.Name, stringValue); […]

Reflejo de C #: cargue el ensamblaje e invoque un método si existe

Quiero cargar un ensamblaje (su nombre está almacenado en una cadena), usar la reflexión para verificar si tiene un método llamado “CustomType MyMethod (byte [] a, int b)” y llamarlo o lanzar una excepción de lo contrario. Creo que debería hacer algo como esto, pero agradecería que alguien pudiera ofrecer el mismo consejo sobre la […]

Obtener propiedades en orden de statement usando reflexión

Necesito obtener todas las propiedades usando el reflection en el orden en que se declaran en la clase. Según MSDN, no se puede garantizar el orden cuando se usa GetProperties() El método GetProperties no devuelve propiedades en un orden particular, como orden alfabético o de statement. Pero he leído que hay una solución al ordenar […]

Llamar y llamar

¿Cuál es la diferencia entre las instrucciones CIL “Llamar” y “Callvirt”?