C# 4.0 我需要帮助解决StackOverflowException C#

C# 4.0 我需要帮助解决StackOverflowException C#,c#-4.0,C# 4.0,我想知道是否有人能帮我,我对C#编程比较陌生,下面是导致StackOverflowException的代码: private void createButton_Click(object sender, RoutedEventArgs e) { try { MeWhoService.Account NewAccount = new MeWhoService.Account(); NewAccount.AccountID = Guid.NewGui

我想知道是否有人能帮我,我对C#编程比较陌生,下面是导致StackOverflowException的代码:

private void createButton_Click(object sender, RoutedEventArgs e)
{
    try
    {
        MeWhoService.Account NewAccount = new MeWhoService.Account();

        NewAccount.AccountID = Guid.NewGuid();
        NewAccount.LastName = LastNameTextBox.Text.Trim();
        NewAccount.FirstName = FirstNameTextBox.Text.Trim();
        NewAccount.EmailAddress = EMailAddressTextBox.Text.Trim();
        NewAccount.Password = PasswordTextBox.Password.Trim();
        NewAccount.ConfirmPassword = ConfirmPasswordTextBox.Password.Trim();


        // Set Password
        if (ValidatePassword())
        {
            NewAccount.Password = PasswordTextBox.Password.Trim();
            viewModel.Create(NewAccount);

            NavigationService.Navigate(App.MeAndWhoUri);
        }
        else
        {
            MessageBox.Show("Your Passwords don't match.");
        }
    }
    catch (Exception excp)
    { 
        MessageBox.Show(excp.Message);
    }
}

在.NET中调试StackOverflowException很简单。在debug中启动程序,执行任何导致异常的操作,等待异常抛出,然后查看堆栈跟踪。堆栈跟踪将有一个模式显示任意数量的重复方法调用。找出哪些方法调用不应该调用堆栈跟踪中的另一个方法,错误就会消失


如果您在堆栈跟踪中找不到模式,请将其包含在您的问题中,我相信这里会有人能够帮助您。

如果您准确指出堆栈溢出涉及上述代码的哪些行,这将非常有帮助。StackOverflowException是由最终调用自身(可能是间接调用)的函数引起的在递归循环中,直到堆栈被填充。通常,只要查看异常的堆栈跟踪就可以看到问题。您没有包含足够的代码,我们无法确定。堆栈溢出可能不是由上述代码引起的;相反,它可能是由上面代码调用的某个方法引起的,比如ValidatePassword()或您编写的其他东西。StackOverflowException发生在一个函数在不确定循环中调用自身时。所以系统并没有在堆栈中获得足够的空闲内存,所以发生了异常。设置一个断点,然后进行调试,您肯定会发现一个函数得到重复调用。。。