您好我寫從遺留VB代碼C#代碼的返回類型,我有一個函數:異常堆棧跟蹤
Public Shared Sub logError(ByVal ex As Exception, ByVal additionalInfo As String)
Dim messagestr As String
If ex.StackTrace.Length > 0 Then
For Each stackTrace As String In ex.StackTrace
messagestr &= stackTrace
Next
End If
我轉換for循環爲:
foreach (string stackTrace in ex.StackTrace)
{
messagestr += stackTrace;
}
有一個錯誤消息在'foreach'下:「無法將類型'char'轉換爲'string'
這聽起來很奇怪,因爲我從MSDN讀取StackTrace,它返回一個字符串,所以我不知道爲什麼有一個for循環傳統的VB代碼,另外,我不知道'char'來自哪裏。
我覺得我完全迷失在這方面。有人可以幫我嗎?
首先,您爲什麼認爲StackTrace * class *是特定於VB?其次,要獲得該類的實例,必須實例化該類,如「Dim trace As New StackTrace」;訪問Exception類實例的StackTrace *屬性將會得到一個字符串,不管是C#,VB還是其他任何.NET語言。 –