20

C#/.NET でこのようなことをしなければならないのはこれが初めてで、JavaScript で eval() 関数を使用するか、動的にスクリプトを作成して HTML を生成することで簡単にできることを思い出します。ユーザー入力から取得した文字列がありますstring input = "foo""foo"今、私が持っているオブジェクトのプロパティの名前として値を使用したいと思います。たとえばcover、次のようにします。

string input = "foo";
//magic to convert string value to be used
//as a object property name goes here maybe...
var success = cover.foo;

C# でそのようなことを行う方法はありますか? おそらくリフレクションを使用していますか?試してみましたが、実際には問題を解決しないオブジェクトが常に返されます。

4

1 に答える 1

29

リフレクションは適切なツールです。

PropertyInfo pinfo = typeof(YourType).GetProperty("YourProperty");
object value = pinfo.GetValue(YourInstantiatedObject, null);
于 2013-10-09T15:42:18.470 に答える