2

リソース文字列を動的に設定しようとしています。リソースの名前は、Web サービスから返されるコードによって若干異なります。別のコードは、別のメッセージをユーザーに表示する必要があります。

巨大な if 構造や辞書の代わりに、リフレクションやその他の黒魔術を使用してこれを行う良い方法はありますか。このようなこと:

var message = Something.Invoke("HostedResources.MESSAGE_CODE_" + code);

ありがとう

4

1 に答える 1

2

はい、リフレクションを使用して名前でプロパティを取得できます。

HostedResources hostedResourceInstance = GetHostedResources();

PropertyInfo info = typeof(HostedResources).GetProperty("MESSAGE_CODE_" + code);
var message = (string)info.GetValue(hostedResourceInstance, null);
于 2012-06-19T13:46:16.800 に答える