C# 在C中创建通用日志的最简单方法#

C# 在C中创建通用日志的最简单方法#,c#,C#,我是C#的新手,但仍然是 public class Logging { public static int Write(params object[] items) { return Console.Write(items); } } 看起来还可以,但不起作用。 并非所有实例或写入都是在编译时定义的,但它们确实是 如果我打电话 Logging.Write("Hello world"); 我有绳子 System.Object[] 作为回应,您的代码有

我是C#的新手,但仍然是

public class Logging
{ 
    public static int Write(params object[] items)
    {
        return Console.Write(items);
    }
}
看起来还可以,但不起作用。 并非所有实例或写入都是在编译时定义的,但它们确实是

如果我打电话

Logging.Write("Hello world");
我有绳子

System.Object[]

作为回应,您的代码有两个问题:

  • 并没有不返回
    void
    (例如,
    int
    )的重载

  • 不存在接受
    对象
    数组的重载。重载匹配是获取单个
    对象
    的匹配,该对象通过调用将
    对象
    转换为
    字符串
    。对于
    对象的数组
    ,返回
    “System.Object[]”


  • 你想做这样的事吗

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

    输出:

    x的值是42
    您的代码有两个问题:

  • 并没有不返回
    void
    (例如,
    int
    )的重载

  • 不存在接受
    对象
    数组的重载。重载匹配是获取单个
    对象
    的匹配,该对象通过调用将
    对象
    转换为
    字符串
    。对于
    对象的数组
    ,返回
    “System.Object[]”


  • 你想做这样的事吗

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

    输出:

    x的值是42
    我知道这不是你的问题,但我建议使用日志库,我喜欢NLog,然后是Log4Net,还有更多,但这些都是我知道的

    我知道这不是你的问题,但我建议使用日志库,我喜欢NLog,然后是Log4Net,还有更多,但这些都是我知道的

    当你说它“不起作用”时,你能详细说明一下吗?你的问题是什么?“不工作”并没有足够的错误描述。我发现您的问题不是关于日志记录,而是关于ConsoleWriteline和dtb的问题已经回答了您的问题。如果你真的想卷起你自己的日志记录,请考虑使用成熟的LoggGrand框架(Log4NET,Nlog),或者如果你想交换日志记录框架,而不是日志记录抽象(公共日志:)。当你说它“不起作用”时,你能详细说明吗?你的问题是什么?“不工作”并没有足够的错误描述。我发现您的问题不是关于日志记录,而是关于ConsoleWriteline和dtb的问题已经回答了您的问题。如果你真的想卷起你自己的日志记录,请考虑使用成熟的LoggGrand框架(Log4NET,Nlog),或者如果你想交换日志记录框架,而不是日志记录抽象(公共日志:)。抱歉,对于后期的响应,但是我希望我的函数采用任何数字和任何类型的参数将参数传递给其他函数。我能在C、C++、Python甚至MATLAB中实现这一点。抱歉,对于后期的响应,我希望我的函数可以用任何数字和任何类型的参数传递参数给其他函数。我能在C、C++、Python甚至MATLAB中实现这一点。 The value of x is 42