gpt4 book ai didi

c# - 结合 CallerMemberName 与参数

转载 作者:IT王子 更新时间:2023-10-29 04:21:09 28 4
gpt4 key购买 nike

现在(C# 4.0),我们的日志记录方法看起来像

public void Log(string methodName, string messageFormat, params object[] messageParameters)

记录器在其中进行字符串格式化,以便调用者不必放置 String.Format 来创建漂亮的日志消息(如果没有附加日志查看器,则允许记录器跳过字符串格式化)。

对于 C# 5.0,我想通过使用新的 CallerMemberName 属性来摆脱 methodName 参数,但我不知道如何将其与“params”关键字结合使用。有办法做到这一点吗?

最佳答案

你可以这样做:

protected static object[] Args(params object[] args)
{
return args;
}

protected void Log(string message, object[] args = null, [CallerMemberName] string method = "")
{
// Log
}

要使用日志,请执行以下操作:

Log("My formatted message a1 = {0}, a2 = {2}", Args(10, "Nice"));

关于c# - 结合 CallerMemberName 与参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14355600/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com