我喜歡String.Format如何使用參數將變量注入到它正在格式化的字符串中。這稱爲複合格式,由MSDN here討論。如何使我自己的方法類似於在C#中使用複合格式的String.Format
我想這個功能我的日誌門面:
string foo = "fancy";
string bar = "message";
log.Debug("My {0} log {1}.", foo, bar)
我ILoggerFacade有以下方法簽名:
void Debug<T>(T message, params Object[] args);
而且,我知道我可以很簡單地實現這一點:
ILog m_Log = \\some logging implementation
public void Debug<T>(T message, params Object[] args)
{
m_Log.Debug(String.Format(message, args));
}
但是,在Visual Studio中,我沒有看到突出顯示{0},{1},... ar guments:
我想這是ReSharper的是誰resposible他們,現在看來似乎只是忽略了格式化參數,並沒有給出「智能感知」的幫助。這是不好的,因爲其他將使用外觀的開發人員會期待這一點。
如何獲得類似於如何將這些工作自定義格式的方法論證高亮和「智能感知」:
Console.WriteLine(...)
String.Format(...)
etc...
任何幫助,將不勝感激。
關於第三種方式添加註解 - 你可以把註釋XML文件彙編附近,由 .ExternalAnnotations.xml命名,並提交到你的CVS。所有其他開發人員將在更新期間自動獲取它。 –
derigel
@derigel好的電話。我忘了那個。我打賭你可以做一些事情,將其包含在NuGet包中。不過,如果有的話,我仍然會推薦選項2。 – cadrell0
按照建議執行步驟2: http://www.jetbrains.com/resharper/webhelp/Code_Analysis__Annotations_in_Source_Code.html – Oliver