0

它似乎是不一致的。

Foo.ToString();

有时会触发警告“在字符串转换中明确指定文化”,有时不会。

有谁知道这里适用什么规则?

4

1 回答 1

1

我相信当 ToString() 方法具有格式依赖性(IFormatProvider 等)时,ReSharper 会警告“明确指定字符串转换中的文化”。另一方面,如果该类有一个自定义 ToString() 而不依赖于文化或格式,那么 Resharper 不会给出警告。

所以这总是会发出警告:

int i = 1;
i.ToString();

但这不会给出任何警告:

class Foo { 

    public string ToString() { 
        return string.Empty; 
    } 
}; 

var foo = new Foo(); 
foo.ToString();
于 2013-09-20T11:00:06.087 回答