Preguntas etiquetadas con reflection

87
¿Hay algo como instanceOf (Class <?> C) en Java?

Quiero comprobar si un objeto oes una instancia de la clase Co de una subclase de C. Por ejemplo, si pes de la clase Pointquiero x.instanceOf(Point.class)ser truey también x.instanceOf(Object.class)ser true. Quiero que funcione también para tipos primitivos en caja. Por ejemplo, si xes un...

82
¿Cómo obtener la PropertyInfo de una propiedad específica?

Quiero obtener PropertyInfo para una propiedad específica. Podría usar: foreach(PropertyInfo p in typeof(MyObject).GetProperties()) { if ( p.Name == "MyProperty") { return p } } Pero debe haber una forma de hacer algo similar a typeof(MyProperty) as PropertyInfo ¿Esta ahí? ¿O estoy...

82
Compruebe si existe una propiedad en una clase

Intento saber si existe una propiedad en una clase, probé esto: public static bool HasProperty(this object obj, string propertyName) { return obj.GetType().GetProperty(propertyName) != null; } No entiendo por qué no pasa el primer método de prueba. [TestMethod] public void...

81
'casting' con reflejo

Considere el siguiente código de muestra: class SampleClass { public long SomeProperty { get; set; } } public void SetValue(SampleClass instance, decimal value) { // value is of type decimal, but is in reality a natural number => cast instance.SomeProperty = (long)value; } Ahora...

80
Obtener todas las propiedades que marcaron cierto atributo

Tengo clase y propiedades ahí. Algunas propiedades se pueden marcar como atributo (es mi LocalizedDisplayNameherencia DisplayNameAttribute). Este es el método para obtener todas las propiedades de la clase: private void FillAttribute() { Type type = typeof (NormDoc); PropertyInfo[]...

19
Obtener funciones anuladas de subclase

¿Hay alguna manera de obtener todas las funciones anuladas de una subclase en Python? Ejemplo: class A: def a1(self): pass def a2(self): pass class B(A): def a2(self): pass def b1(self): pass Aquí, me gustaría obtener una lista ["a2"]para un objeto de clase B(o para el objeto de...