1

VB.netで記述された既存のWindowsストアアプリの更新に取り組んでいます。共有MsgBox()関数と「非共有」関数(共有関数から実行される)を作成しました。別のクラスからも実行しているので、共有のものが必要です。完全なエラーコード:

An unhandled exception of type 'System.StackOverflowException' occurred in Calculator World.exe
The program '[4360] Calculator World.exe: Managed (v4.0.30319)' has exited with code -2147023895 (0x800703e9)

MsgBoxコードは次のとおりです。

''' <summary>
''' Shows a message box with a Close button.
''' 
''' NOTE: Run "MainPage.MessageBoxDone = false" before running this function!!!
''' </summary>
''' <param name="text">The text to show in the message box.</param>
Public Shared Sub MsgBox(ByVal text As String)'<--- error is occurring  ether here 
    MsgBox(text)                          ' <--- or here
End Sub

Private Sub MsgBox_unShared(ByVal txt As String)
    Canvas_MsgBox.Visibility = Windows.UI.Xaml.Visibility.Visible
    Label_MsgBox.Text = txt
End Sub
4

1 に答える 1

4

関数MsgBoxがそれ自体を呼び出します。その結果、再帰が無限になり、スタックオーバーフローが発生します。あなたはおそらくMsgBoxを呼び出すつもりMsgBox_unSharedでした。

于 2012-11-25T14:30:15.720 に答える