文字列を使用してオブジェクトに対してリフレクションを実行できるライブラリを探しています(例:文字列に基づいて.NETオブジェクトでリフレクションを実行するライブラリはありますか?
class SampleClass {
public SampleClass Child {get; set;}
public string SomeValue {get;set;}
}
var a = new SampleClass { Child = new SampleClass { SomeValue = "v"}};
var parser = new ReflectionParser();
var result = parser.Parse("Child.SomeValue", a);
// result is "v"
ない場合、私は1つ、それをオープンソース化を書いて検討している - しかし、私は再発明ホイールたくありませんでした。当初はプロパティ値を取得するだけでしたが、長期的にはメソッドを実行し、必要に応じて引数を解析することができました。
私が見つけた最も近いのはhttps://code.google.com/archive/p/antix-software/wikis/AntixReflectionQuery.wikiで、Using an XPath-style Query with ReflectionとTraversing an arbitrary C# object graph using XPath/applying XSL transformsで参照されていますが、これはもう利用できないようです。
良い質問を!この構文( 'Child.SomeValue')はさまざまなデータバインディング機能(例えばWPFデータバインディング)によって使用されるため、BCL自体に何かがあるかもしれません。 – Heinzi