在Visual Studio 2015年新的字符串插值的风格是这样的:
暗淡S = $您好(名称)
但是,如果我用这个code分析告诉我,我打破 CA1305 :指定的IFormatProvider
在老的时候,我做了这样的:
暗淡S =的String.Format(Globalization.CultureInfo.InvariantCulture,你好{0},名称)
但怎么能与新的风格呢?
我要指出,我正在寻找一个解决方案,对于.NET 4.5.2(用于.NET 4.6 dcastro有答案)
解决方案您会使用 System.FormattableString
或 System.IFormattable
类:
IFormattable IFS =(IFormattable)$你好,(名称);
System.FormattableString FSS = $您好,(名称);
//传递null要使用的格式,因为它是在初始化时使用以上。
字符串ifresult = ifs.ToString(空,CultureInfo.InvariantCulture);
字符串fsresult = fss.ToString(CultureInfo.InvariantCulture);
您必须编写针对框架4.6,为 IFromattable
和 FormattableString
是不中不存在的类旧的版本。因此,如果您的目标较旧版本的.NET框架您不触发错误不能使用插语法。
除非你申请一个小黑客(适应编译免受乔恩斯基特的要点 4.6 RTM和的