它似乎是不一致的。
Foo.ToString();
有时会触发警告“在字符串转换中明确指定文化”,有时不会。
有谁知道这里适用什么规则?
我相信当 ToString() 方法具有格式依赖性(IFormatProvider 等)时,ReSharper 会警告“明确指定字符串转换中的文化”。另一方面,如果该类有一个自定义 ToString() 而不依赖于文化或格式,那么 Resharper 不会给出警告。
所以这总是会发出警告:
int i = 1;
i.ToString();
但这不会给出任何警告:
class Foo {
public string ToString() {
return string.Empty;
}
};
var foo = new Foo();
foo.ToString();