2013-10-22 40 views
-1

我需要最簡單的記錄器wp7,沒有網絡報告或文件存儲。只需簡單地向控制檯報告。它應該能夠使用字符串,對象和格式化字符串:最簡單的WP7記錄器

  • SimpleLogger.WriteLine(「JustLine」);
  • SimpleLogger.WriteLine(ObjectToBeCastedToString);
  • SimpleLogger.WriteLine(「Price is {0} {1}」,price,currency);
+1

那裏的「問題」部分比?你的「答案」並不真正達到SO標準 - 隨機的代碼塊沒有解釋(忽略了你使用本地時間而不是UTC的原因,並且無論什麼原因使用'#if'而不是條件屬性)。 –

+0

問題是「最簡單的WP7記錄器」。答案不是一個隨機代碼,它對我來說相當不錯。另外,請看一下這個問題的最後一句。如果你錯過了,這是「改進的考慮是值得歡迎的」。 –

+0

我已將評論添加到帖子中,隨時對其進行改進。如果你想展示你的代碼,我真的建議首先使用http://codereview.stackexchange.com進行評論。並且請讓「問題」看起來像一個問題(不要忘記現在刪除所有文本,因爲它沒有描述您提供解決方案的問題)。 –

回答

1
public class SimpleLogger 
{ 
    private static DateTime lastLog; 

    [Conditional("DEBUG")] 
    public static void WriteLine(object value) 
    { 
     WriteLine((value == null) ? "(null)" : value.ToString()); 
    } 

    [Conditional("DEBUG")] 
    public static void WriteLine(string format) 
    { 
     WriteLine("{0}", format); 
    } 

    [Conditional("DEBUG")] 
    public static void WriteLine(string format, params object[] values) 
    { 
     var formatted = String.Format(null, format, values); 

     Debug.WriteLine("{0:hh:mm:ss.fff} [{1:hh:mm:ss.fff}] {2}", DateTime.UtcNow, DateTime.UtcNow - lastLog, formatted); 
     lastLog = DateTime.UtcNow; 
    } 
} 
+0

-1:代碼不能編譯('NotNullAttribute'不存在)。我強烈建議正確使用條件屬性而不是'#if'。 –

+0

這裏使用屬性有什麼好處?兼容性?更新。 –