C# Messagebox赢得';t显示在C中处理事件的时间#

C# Messagebox赢得';t显示在C中处理事件的时间#,c#,mvvm,event-handling,viewmodel,messagebox,C#,Mvvm,Event Handling,Viewmodel,Messagebox,我以前一直在使用Messagebox,直到最近在当前任务中再次尝试使用Messagebox时,才遇到任何问题。该问题有3种不同的场景 仅供参考,该项目是用MVVM编写的。我添加了一个新的viewmodel,在其中我访问了一个方法,该方法检查共享驱动器的状态,无论其是否已安装。如果是,请断开连接。断开连接后,我需要向用户发送一个通知框,告知连接被拒绝,然后再继续 以下是我迄今为止所做的工作: 首先,我只是简单地在if条件下包含命令 if (Network.MountedDrive()) {

我以前一直在使用Messagebox,直到最近在当前任务中再次尝试使用Messagebox时,才遇到任何问题。该问题有3种不同的场景

仅供参考,该项目是用MVVM编写的。我添加了一个新的viewmodel,在其中我访问了一个方法,该方法检查共享驱动器的状态,无论其是否已安装。如果是,请断开连接。断开连接后,我需要向用户发送一个通知框,告知连接被拒绝,然后再继续

以下是我迄今为止所做的工作:

首先,我只是简单地在if条件下包含命令

if (Network.MountedDrive())
{
   Console.WriteLine("Connection denied");
   Messagebox.Show("Connection denied", "Network Error");
}
这个实现中的问题是,在我的代码中的某个地方,出现了一个NullReferenceException崩溃

第二次,我尝试用try-catch修复第一种方法

结果:应用程序没有崩溃。现在的问题是没有显示MessageBox,尽管它成功地打印了控制台日志

第三次,我尝试将命令简化为:

MessageBox.Show("Connected denied", "Netword Error");
这会导致另一个问题,
尝试读取和写入受保护内存

我第一次尝试使用事件处理程序。当我访问检查方法时触发我的处理程序,尽管同样的问题也会发生

我很不确定如何解决这个问题。任何帮助都将不胜感激


谢谢

在我的代码中的某个地方,出现了带有NullReferenceException的崩溃-查找引发此异常的代码行。我尝试使用try catch修复第一种方法-这不是修复方法,而是将“垃圾”隐藏起来;)@Fabio崩溃w/NullReferenceException的特定代码不是我的实现。直到我在viewmodel上添加了一个messagebox,它才开始正常工作。有没有可能这部分不是一个干净的实现?@Fabio感谢你也注意到了“垃圾”的事情:)我会记住的