C# 使用反射从资源中获取价值
您好,我正在尝试使用反射从资源文件中的键获取值。不管怎样,我都在挣扎。我构建了名称空间和区域性,但值总是为nullC# 使用反射从资源中获取价值,c#,reflection,C#,Reflection,您好,我正在尝试使用反射从资源文件中的键获取值。不管怎样,我都在挣扎。我构建了名称空间和区域性,但值总是为null public static string GetResource(string language) { var culture = (language == "en-US") ? string.Empty : $".{language}"; var resource = Assembly .GetExecut
public static string GetResource(string language)
{
var culture = (language == "en-US") ? string.Empty : $".{language}";
var resource = Assembly
.GetExecutingAssembly()
.GetTypes()
.Where(x => x.Name.Contains("Test"))
.Single(x => x.Namespace == $"ConsoleApp1.Resources{culture}");
resource.GetProperty("Hello");//this is always null
return null;
}
我不知道这是为什么,但我知道我得到了正确的资源,我看到了它的属性。有人有什么建议吗
你好物业:
internal static string Hello {
get {
return ResourceManager.GetString("Hello", resourceCulture);
}
}
由于“Hello”属性是
内部的
和静态的
,我们应该指定它:
resource.GetProperty("Hello", BindingFlags.NonPublic | BindingFlags.Static);
共享Hello属性的代码。