我試着在我們的產品的幾個組件上運行FxCop,並且我得到了很多「指定IFormatProvider」規則的匹配。我應該總是指定使用哪一個IFormatProvider?
碰巧,其中一些是合法的,但它也符合這樣的代碼:
Logger.DebugFormat("Appending file {0}", fileName);
這可以寫成
Logger.DebugFormat(CultureInfo.InvariantCulture, "Appending file {0}", fileName);
第二個變量是更難閱讀。
那麼,它實際上是否推薦總是指定IFormatProvider
還是「只是」規則中啓發式的限制嗎?
謝謝,這是一個明確的改進,但它不適用於我的記錄器,因爲界面超出了我的控制範圍......而那些調用最讓我惱火的是:)將此標記爲正確答案,因爲它到目前爲止是最有用的。 –
InvariantText.Format和CulturedText.Format方法返回字符串。在您的示例中,您可以將記錄器方法重寫爲Logger.DebugFormat(CulturedText.Format(「Appending file {0}」,fileName));'。 –
這實際上是一個非常好的主意。 +1。 – Joey