Dynamische Eigenschaftsreflexion von .NET-Objekten
In .NET stellt die Untersuchung ihrer Eigenschaften bei der Arbeit mit dynamischen Objekten besondere Herausforderungen dar. Zum Abrufen von Eigenschaftswerten dürfen keine regulären Reflexionstechniken verwendet werden.
Problemstellung:
Wie erhalte ich ein Wörterbuch mit Attributnamen und ihren entsprechenden Werten von einem dynamischen Objekt, das mit dem dynamischen Schlüsselwort deklariert wurde?
Lösung mit ExpandoObject:
Für dynamische Objekte vom Typ ExpandoObject gibt es eine einfache Lösung. Die ExpandoObject-Klasse selbst implementiert die IDictionary
<code class="language-csharp">IDictionary<string, object> propertyValues = (IDictionary<string, object>)s;</code>
Hinweis: Diese Methode funktioniert nur bei ExpandoObject-Instanzen. Für andere Arten dynamischer Objekte sind alternative Methoden erforderlich.
Das obige ist der detaillierte Inhalt vonWie kann man über die Eigenschaften dynamischer Objekte in .NET nachdenken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!