簡體   English   中英

在C#中進行通用日志記錄的最簡單方法

[英]Simplest way to make generic logging in C#

我是C#的新手,但仍然

public class Logging
{ 
    public static int Write(params object[] items)
    {
        return Console.Write(items);
    }
}

似乎還可以,但是不起作用。 好吧,不是所有實例或Write都在編譯時定義的,但是確實是這樣。

如果我打電話

Logging.Write("Hello world");

我有繩子

System.Object[]

作為回應

您的代碼有兩個問題:

  1. Console.Write方法沒有重載,該重載不會返回void (例如, int )。

  2. 接受object數組的Console.Write方法沒有重載。 重載匹配是采用單個object ,該object通過調用ToString方法object轉換為string ToString方法object數組返回"System.Object[]"


您是否正在嘗試做這樣的事情?

public class Logging
{ 
    public static void Write(params object[] items)
    {
        Console.WriteLine(string.Join(" ", items));
    }
}

例:

int x = 42;
Logging.Write("The value of x is", x);

輸出:

The value of x is 42

我知道這不是您的問題,但是我建議您使用日志記錄庫,我喜歡NLog,然后還有Log4Net,但還有更多,但我知道這些!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM