您好我写从遗留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语言。 –