在格式字符串的完整文本在编译时是静态和已知的情况下,缺失的格式字符串参数不应该是编译时错误,或者至少应该是警告吗?
ReSharper会捕获这个问题,但只是下划线波浪线。我认为这应该触发一般的编译时错误。
有没有方法可以在出现这种错误时触发警告,而不必将我的代码通过FxCop或其他东西运行?即使是C/C++编译器也会为如此明显的错误触发警告/错误(尽管它们通常不会检查类型安全)。
ReSharper会捕获这个问题,但只是下划线波浪线。我认为这应该触发一般的编译时错误。
string x = string.Format("soeuotnh {0}");
有没有方法可以在出现这种错误时触发警告,而不必将我的代码通过FxCop或其他东西运行?即使是C/C++编译器也会为如此明显的错误触发警告/错误(尽管它们通常不会检查类型安全)。
String.Format
不是 C# 编程语言的一部分,编译器为什么要关心它? - John Saundersprintf
格式... - M.BabcockString.Format
的原因,而是使用+
来组合字符串。 虽然这样做不太好看,但我宁愿不出现运行时错误。 - piertoni