如果这是一个愚蠢的问题,我很抱歉,但如果我想根据文化返回专栏,最好的方法是什么?
我想过如果在linq select语句中有缺点
或进行延期: 假设我首先使用linq代码,并使用一个名为Country且名为Name_fr,Name_no,Name _ **等的国家/地区。
public static IEnumerable<Country> C(this IEnumerable<Country> Countries)
{
if (Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName == "en")
{
return Countries.Select(x => new Country { x.Name = x.Name_en });
}
}
是否有基于文化的resx字符串数据的标准方式? 如果这是重复,我很抱歉,但我找不到答案。
干杯,鹰
答案 0 :(得分:1)
试试这个
public static IEnumerable<Country> C(this IEnumerable<Country> Countries)
{
var propName = string.Format("Name_{0}", Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName);
var localizedNameProp = typeof(Country).GetProperty(propName);
return Countries.Select(x => new Country { Name = localizedNameProp.GetValue(x, null).ToString() });
}