使用传递的字符串作为资源名称的一部分

时间:2013-09-06 20:20:19

标签: .net vb.net

我发现自己写了这样一个函数:

Public Shared Function RiskBarTitle(ByVal passedWord As String) As String
Dim returnText As String = ""

Try
Select Case passedWord.ToLower
 Case "tobacco"
  returnText = My.Resources.rptPfr9Common.wTobacco     
Case "alcohol"
  returnText = My.Resources.rptPfr9Common.wAlcohol
 Case Else
  returnText = "Oops, no graph title available."
End Select
...

而不是重复case语句是否有某种方法可以使用传递的变量'passedWord'来完成资源名称,以便可以直接使用它?所以它看起来像:

My.Resources.rptPfr9Common.passedWord

我已经广泛搜索,但显然我不知道如何充分描述它以找到解决方案。

谢谢,

马修

2 个答案:

答案 0 :(得分:0)

正如上面提到的the_lotus,这是有效的(在C#中)

 MessageBox.Show(ResFile.ResourceManager.GetObject("resourceName").ToString());

抱歉,我没有安装VB,但您应该很容易找到适合VB的方法。

答案 1 :(得分:0)

马修,这对你有用吗:

My.Resources.ResourceManager.GetObject("nameOfResource")