Als «reflection» getaggte Fragen

167
So laden Sie eine Python-Klasse dynamisch

my_package.my_module.MyClassWas ist bei einer Zeichenfolge einer Python-Klasse der beste Weg, um sie zu laden? Mit anderen Worten, ich suche ein Äquivalent Class.forName()in Java, eine Funktion in Python. Es muss mit Google App Engine funktionieren. Vorzugsweise ist dies eine Funktion, die den FQN...

165
Warum fehlen bei Attributes.IsDefined () Überladungen?

Inspiriert von einer SO-Frage. Die Attributklasse hat mehrere Überladungen für die IsDefined () -Methode. Es werden Attribute behandelt, die auf Assembly, Module, MemberInfo, ParameterInfo angewendet werden. Die MemberInfo-Überladung umfasst PropertyInfo, FieldInfo, EventInfo, MethodInfo,...

162
So testen Sie, ob der Typ primitiv ist

Ich habe einen Codeblock, der einen Typ in ein HTML-Tag serialisiert. Type t = typeof(T); // I pass <T> 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);...

154
Wie fange ich einen Methodenaufruf in C # ab?

Für eine bestimmte Klasse möchte ich eine Ablaufverfolgungsfunktion haben, dh ich möchte jeden Methodenaufruf (Methodensignatur und tatsächliche Parameterwerte) und jeden Methodenexit (nur die Methodensignatur) protokollieren. Wie erreiche ich dies unter der Annahme, dass: Ich möchte keine...

150
Eigenschaften und Werte von unbekannten Objekten abrufen

Aus der Welt von PHP habe ich beschlossen, C # auszuprobieren. Ich hatte eine Suche, kann aber anscheinend keine Antwort darauf finden, wie ich das Äquivalent dazu machen kann. $object = new Object(); $vars = get_class_vars(get_class($object)); foreach($vars as $var) {

139
Java Reflection: Wie erhalte ich den Namen einer Variablen?

Ist es mit Java Reflection möglich, den Namen einer lokalen Variablen abzurufen? Zum Beispiel, wenn ich das habe: Foo b = new Foo(); Foo a = new Foo(); Foo r = new Foo(); ist es möglich, eine Methode zu implementieren, die die Namen dieser Variablen finden kann, wie folgt: public void...