0

嘿伙计们,首先对不好的解释感到抱歉。我的任务是翻译我不久前写的一个应用程序,一般没什么特别的。

但现在我正处于一个关键点。我的应用程序的一项功能是保存历史记录。为此,我创建了一个基本类。

 public class GHistoryClass
    {
       public GHistoryClass(string act, string icop, string categ, string desc,)
        {
            this.m_Action = act;
            this.m_IconPath = icop;
            this.m_Description = desc;
            this.m_Category = categ;

        }
        public string m_Action { get; set; }
        public string m_Description { get; set; }
        public string m_Category { get; set; }
        public string m_IconPath { get; set; }
    }

我正在保存历史,就像ObservableCollectionIsolatedStorage. 当语言改变时,我想翻译历史。

我想不通,例如如何连接m_Actionlocalized resourses.

任何想法将不胜感激。

编辑

我认为应该做的是将AppResources属性名称的名称保存为字符串,所以m_Action = "AppResources.firstaction"我的想法是将其转换为PropertyPath. 这是一个好主意,我如何转换stringobject名称?

4

1 回答 1

1

将资源 (resx) 文件添加到项目时,最终会为每个资源生成一个属性。

internal class MyResources
{
    // other properties etc

    internal static string SomeLabel 
    {
        get
        {
            return ResourceManager.GetString("SomeLabel", resourceCulture);
        }
    }
}

通常你会像这样使用这个资源:

string label = MyResources.SomeLabel;

但你不必这样做。相反,您可以直接访问 ResourceManager:

string label = MyResources.ResourceManager.GetString(m_Action);
于 2013-03-31T10:03:40.927 回答