我正在尝试满足新库中的所有 FxCop 规则。因此,我需要为我的所有 String.Format() 调用指定一个 IFormatProvider。例子:
public string Example(string value) {
return string.Format(CultureInfo.CurrentCulture,
"You entered: {0}", value);
}
数百次指定 CultureInfo 变得非常乏味,所以我做了一个助手:
public string Example2(string value) {
return CurrentCulture("You entered: {0}", { value });
}
private string CurrentCulture(string value, object[] objects) {
return string.Format(CultureInfo.CurrentCulture, value, objects);
}
这行得通,但如果我的部件格式错误,我会丢失所有的 Resharper 警告"You entered: {0}", { value }
。
也许最好只使用一个简短的别名:
public string Example3(string value) {
return string.Format(Current(), "You entered: {0}", value);
}
private CultureInfo Current() {
return CultureInfo.CurrentCulture;
}
还有其他想法吗?