Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
リソース文字列を動的に設定しようとしています。リソースの名前は、Web サービスから返されるコードによって若干異なります。別のコードは、別のメッセージをユーザーに表示する必要があります。
巨大な if 構造や辞書の代わりに、リフレクションやその他の黒魔術を使用してこれを行う良い方法はありますか。このようなこと:
var message = Something.Invoke("HostedResources.MESSAGE_CODE_" + code);
ありがとう
はい、リフレクションを使用して名前でプロパティを取得できます。
HostedResources hostedResourceInstance = GetHostedResources(); PropertyInfo info = typeof(HostedResources).GetProperty("MESSAGE_CODE_" + code); var message = (string)info.GetValue(hostedResourceInstance, null);