Articles of reflexión de

Reflection MethodInfo.Invoke () capta excepciones desde el interior del método

Tengo una llamada a MethodInfo.Invoke() para ejecutar una función a través de la reflexión. La llamada está envuelta en un bloque try/catch pero aún no captará la excepción lanzada por la función que invoca. Recibo el siguiente mensaje: La excepción no fue controlada por el usuario. ¿Por qué MethodInfo.Invoke() evita que la excepción quede atrapada […]

Cambiar las propiedades de solo lectura con reflexión

¿Es posible? Con reflexión o de otra manera?

C # Obteniendo valor de parms usando reflexión

¿Cómo puedo obtener los valores de parms (en un bucle usando reflexión)? En la pregunta anterior, alguien me mostró cómo recorrer los parms usando la reflexión. static void Main(string[] args) { ManyParms(“a”,”b”,”c”,10,20,true,”end”); Console.ReadLine(); } static void ManyParms(string a, string b, string c, int d, short e, bool f, string g) { var parameters = MethodBase.GetCurrentMethod().GetParameters(); […]

Obtener métodos de clase utilizando la reflexión

¿Cómo puedo obtener todos los métodos públicos de clase utilizando la reflexión cuando el nombre de la clase se pasa como una cadena como se muestra en el siguiente método. ? private MethodInfo[] GetObjectMethods(string selectedObjClass) { MethodInfo[] methodInfos; Assembly assembly = Assembly.GetAssembly(typeof(sampleAdapater)); Type _type = assembly.GetType(“SampleSolution.Data.MyData.” + selectedObjClass); ///get all the methods for the classname […]

Usando GetProperties () con BindingFlags.DeclaredOnly en .NET Reflection

Si uso sometype.GetProperties(); Obtengo todas las propiedades del tipo y es padre. Sin embargo, solo quiero recuperar las propiedades definidas explícitamente en este tipo (no los padres). Pensé que para eso era la opción BindingFlags.DeclaredOnly . Sin embargo, cuando bash esto: sometype.GetProperties(BindingFlags.DeclaredOnly); Obtengo 0 propiedades. ¿Alguien sabe lo que estoy haciendo mal?

¿Cómo puedo agregar dinámicamente un campo a una clase en C #

¿Hay alguna manera de agregar Field (o FieldInfo , tal vez esto es lo mismo) a una clase en tiempo de ejecución?

Crear una instancia de un constructor con parámetros en una clase interna con reflection

Tengo algo parecido a esto: object[] parameter = new object[1]; parameter[0] = x; object instantiatedType = Activator.CreateInstance(typeToInstantiate, parameter); y internal class xxx : ICompare { private object[] x; # region Constructors internal xxx(object[] x) { this.x = x; } internal xxx() { } … } Y entiendo: lanzó excepción: System.MissingMethodException: Constructor en el tipo ‘xxxx.xxx’ […]

¿Cómo restringir a los desarrolladores el uso de la reflexión para acceder a métodos privados y constructores en Java?

¿Cómo restringir a los desarrolladores el uso de la reflexión para acceder a métodos privados y constructores en Java? Utilizando el código Java normal no podemos acceder a constructores privados o métodos privados fuera de una clase. Pero al usar la reflexión podemos acceder a cualquier método y constructor privado en una clase Java. Entonces, […]

¿Cómo puedo obtener el nombre primitivo de un tipo en C #?

Estoy usando la reflexión para imprimir una firma de método, por ejemplo foreach (var pi in mi.GetParameters()) { Console.WriteLine(pi.Name + “: ” + pi.ParameterType.ToString()); } Esto funciona bastante bien, pero imprime el tipo de primitivas como “System.String” en lugar de “string” y “System.Nullable`1 [System.Int32]” en lugar de “int?”. ¿Hay alguna manera de obtener el nombre […]

Averiguar si un tipo implementa una interfaz genérica

Digamos que tengo un tipo, MyType. Quiero hacer lo siguiente: Averigüe si MyType implementa la interfaz IList, para algunos T. Si la respuesta a (1) es sí, averigüe qué es T. Parece que la forma de hacerlo es GetInterface (), pero eso solo le permite buscar por un nombre específico. ¿Hay alguna manera de buscar […]