下面的代码是全局保存异常的项目的一部分。我已经使用 SharpDevelop 和 Telerik 的代码转换器将它从 C# 转换为 VB,我得到了相同的结果。
通过 Stackoverflow 搜索,我发现了这个问题:“'为什么这个 C# 不能转换为 VB?',它解决了我遇到的相同错误并显示了一个简单的答案,但没有显示如何使用它 - 至少所以我会知道要改变什么。
我得到的是“ONWRITETODATABASE”上的错误。完整的错误是:'Public Shared Event OnWriteToDatabase(type As String, text As String)'是一个事件,不能直接调用。使用“RaiseEvent”语句来引发事件。
我要改变什么来完成这项工作?(帽子是我的。)
Public Delegate Sub DatabaseWriteEventHandler(type As String, text As String)
Public Shared Event OnWriteToDatabase As DatabaseWriteEventHandler
Protected Function OnWriteToDatabase() As Boolean
_logToDatabaseOK = False
If ONWRITETODATABASE IsNot Nothing Then
Try
RaiseEvent OnWriteToDatabase(_exceptionType, _exceptionText)
_logToDatabaseOK = True
Catch ex As Exception
_results.Add("LogToDatabase", ex.ToString())
End Try
Else
_results.Add("LogToDatabase", "No subscriptions to OnWriteToDatabase event")
End If
Return _logToDatabaseOK
End Function