新的延迟初始化

时间:2016-04-21 16:04:49

标签: .net vb.net nlog

尝试使用NLog创建日志记录帮助程序类。但是在创建属性时出现以下错误。

  

错误BC30518过载解决方案失败,因为无法访问'新的'   可以用这些参数调用

Private Shared ReadOnly LoggingMap As New Lazy(Of Dictionary(Of TraceLevel, Action(Of String)))(Function() New Dictionary(Of TraceLevel, Action(Of String))() From {
            {TraceLevel.Info, ClassLogger.Info},
            {TraceLevel.Debug, ClassLogger.Debug},
            {TraceLevel.[Error], ClassLogger.[Error]},
            {TraceLevel.Fatal, ClassLogger.Fatal},
            {TraceLevel.Warn, ClassLogger.Warn}
})

我希望如下使用它。

''' <summary>
''' Get property for Logger
''' </summary>
Private ReadOnly Property Logger() As Dictionary(Of TraceLevel, Action(Of String))
    Get
        Return LoggingMap.Value
    End Get
End Property

1 个答案:

答案 0 :(得分:1)

感谢您的回答:nlog Logging Map using VB.Net

    Private Shared ReadOnly LoggingMap As New Lazy(Of Dictionary(Of TraceLevel, Action(Of String))) _
(Function() New Dictionary(Of TraceLevel, Action(Of String)) From
            {{TraceLevel.Info, AddressOf ClassLogger.Info},
            {TraceLevel.Debug, AddressOf ClassLogger.Debug},
            {TraceLevel.Error, AddressOf ClassLogger.Error},
            {TraceLevel.Fatal, AddressOf ClassLogger.Fatal},
            {TraceLevel.Warn, AddressOf ClassLogger.Warn}
        })
相关问题