我想知道为什么ReSharper会警告我,当我试图将char转换为字符串而不提供特定的文化信息时.
是否有任何情况,它可以在两个系统上进行不同的转换?
例:
var str = ' '.ToString();
默认情况下会弹出以下ReSharper警告:
明确指定字符串转换中的区域性.
angry person.. 10
这是因为ReSharper看到了类型实现IConvertible
了ToString(IFormatProvider)
.
System.Char
本身不会公开具有该签名的公共方法,即使文档指出它:
如果您使用IFormatProvider
参数查看重载,您将看到此通知:
器物
IConvertible.ToString(IFormatProvider)
这句话:
该提供参数被忽略; 它不参与此操作.
ReSharper只是注意到那种方法的存在,并且ToString
没有a IFormatProvider
并因此抱怨的呼叫,在这种情况下你可以放心地忽略它.
这是因为ReSharper看到了类型实现IConvertible
了ToString(IFormatProvider)
.
System.Char
本身不会公开具有该签名的公共方法,即使文档指出它:
如果您使用IFormatProvider
参数查看重载,您将看到此通知:
器物
IConvertible.ToString(IFormatProvider)
这句话:
该提供参数被忽略; 它不参与此操作.
ReSharper只是注意到那种方法的存在,并且ToString
没有a IFormatProvider
并因此抱怨的呼叫,在这种情况下你可以放心地忽略它.