-1

ユーザーが入力した文字列に基づいて、どのクラス プロパティが選択されているかを判断できるようにしたいと考えています。ここで、文字列はクラス プロパティの 1 つの名前です。

例えば

string userInput = "PropertyName";
string newValue = "some value";
MyClass c = new MyClass();
c.PropertyName = newValue;

しかし、この方法でカスタム クラスのプロパティを名前で検索する方法がわかりません。

誰でもこれを達成するための最も簡潔な方法を提案できますか?

4

2 に答える 2

2

反射を使用する:

var prop = c.GetType().GetProperty(userInput,BindingFlags.Public | BindingFlags.Instance)
if(prop != null && prop.CanWrite)
{
    prop.SetValue(c,newValue,null);
}
于 2013-11-12T16:07:49.780 に答える