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 回答