【问题标题】:How do I pass an NLog logger as optional parameter如何将 NLog 记录器作为可选参数传递
【发布时间】:2017-12-13 19:07:10
【问题描述】:

我正在使用引用具有可选 NLog.Logger 作为参数的库的代码(具有此方法定义的该库的代码已丢失,因此我必须重新创建它)。下面的代码抱怨此消息:“需要错误 41 常量表达式。”尽管我试图定义一个 Const,但我无法弄清楚如何使这项工作发挥作用,并且只是将默认值设置为 null 并且没有任何效果。如何创建 Logger 类型的选项参数?谢谢!

Dim objTraceLogDefault As Logger = LogManager.GetLogger("TraceFile")

Public Function MyFunction(Optional ByVal objTraceLog As Logger = 
objTraceLogDefault)

【问题讨论】:

    标签: vb.net nlog


    【解决方案1】:

    可选参数应该是常量,(例如数字、字符串或Nothing),因为编译器添加常量值会增加编译时间。

    您可以将默认设置为 Nothing 并在正文中检查 Nothing

    Private Function MyFunction(ByVal Optional objTraceLog As Logger = Nothing)
        objTraceLog = If(objTraceLog, objTraceLogDefault)
    End Function
    

    【讨论】:

    • 我已经好几年没做过VB了,我一直在寻找“没有”!!!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 2020-04-07
    • 1970-01-01
    相关资源
    最近更新 更多