Preguntas etiquetadas con reflection

La reflexión es la capacidad de un programa para observar y / o modificar su estructura y / o comportamiento en tiempo de ejecución. La reflexión depende del lenguaje de programación compatible: etiquete el lenguaje de programación que se utiliza al usar esta etiqueta.


4
Reflexión de Java: impacto de setAccessible (verdadero)
Estoy usando algunas anotaciones para establecer dinámicamente valores de campos en clases. Como quiero hacer esto independientemente de si es público, protegido o privado, estoy llamando setAccessible(true)al objeto Field cada vez antes de llamar al set()método. Mi pregunta es ¿qué tipo de impacto tiene la setAccessible()convocatoria en el campo mismo? …
105 java  reflection 







7
¿Cuál es la diferencia entre a.getClass () y A.class en Java?
En Java, ¿qué ventajas y desventajas existen en torno a la elección de utilizar a.getClass()o A.class? Cualquiera de los dos se puede usar donde Class<?>se espere a, pero imagino que habría rendimiento u otros beneficios sutiles al usar ambos en diferentes circunstancias (al igual que con Class.forName()y ClassLoader.loadClass().
101 java  class  reflection 

2
¿Cómo obtener el nombre de una función en Go?
Dada una función, ¿es posible obtener su nombre? Decir: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } Me dijeron que runtime.FuncForPC ayudaría, pero no entendí cómo usarlo.

3
¿Cómo limitar setAccessible solo a usos "legítimos"?
Cuanto más aprendí sobre el poder de java.lang.reflect.AccessibleObject.setAccessible, más asombrado estoy de lo que puede hacer. Esto está adaptado de mi respuesta a la pregunta ( Uso de la reflexión para cambiar el File.separatorChar final estático para las pruebas unitarias ). import java.lang.reflect.*; public class EverythingIsTrue { static void setFinalStatic(Field …

3
rango sobre la interfaz {} que almacena un segmento
Dado el escenario en el que tiene una función que acepta t interface{}. Si se determina que tes una rebanada, ¿cómo puedo rangesuperar esa rebanada? func main() { data := []string{"one","two","three"} test(data) moredata := []int{1,2,3} test(data) } func test(t interface{}) { switch reflect.TypeOf(t).Kind() { case reflect.Slice: // how do I …


4
Cómo evitar ReflectionTypeLoadException al llamar a Assembly.GetTypes ()
Estoy tratando de escanear un ensamblado en busca de tipos que implementen una interfaz específica usando un código similar a este: public List<Type> FindTypesImplementing<T>(string assemblyPath) { var matchingTypes = new List<Type>(); var asm = Assembly.LoadFrom(assemblyPath); foreach (var t in asm.GetTypes()) { if (typeof(T).IsAssignableFrom(t)) matchingTypes.Add(t); } return matchingTypes; } Mi problema …


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.