小编sha*_*dad的帖子

收集奇怪的例外

当我尝试向集合(或任何更改集合的操作)添加/插入/删除时,我得到以下异常.初始化集合,插入的项目不为null,与集合T的类型相同.

谁能给我一个线索,说明为什么会这样?

运行时遇到了致命错误.错误的地址是在0x60f41744线程上0x231c.错误代码是0x80131623.
此错误可能是CLR中的错误,也可能是用户代码的不安全或不可验证部分中的错误.此错误的常见来源包括COM-interop或PInvoke的用户编组错误,这可能会破坏堆栈.

更新:该集合是一个ObservableCollection,我设法得知它发生在集合的通知部分发生了变化.

这发生在具有该TaskScheduler.FromCurrentSynchronizationContext()选项的任务内的UI线程上.

奇怪的是如果我删除this(TaskScheduler.FromCurrentSynchronizationContext())选项add/insert/remove动作,一切似乎都很好.

wpf exception observablecollection

3
推荐指数
1
解决办法
2785
查看次数

异步等待不等待

试图找到类似的东西,阅读所有给出的答案,但无法找到一些可以解释给我的东西.

以下是打开对话框弹出窗口(WPF)的示例代码.我希望在ShowOverlayView变为True之后,UI将是可访问的(这就是为什么async-await)和程序要等到用户单击"关闭"时才结束.

小澄清:ShowOverlayViewModel为ContentControl的Visibility属性设置布尔值为true/false.既然如此,那么我没有什么可以等待"常规方式"了.

目前,当视图"可见"时,会立即显示MessageBox.好像它不等待AutoResetEvent.

小更新:它似乎与MessageBox特定相关.我尝试在等待代码行之后更改Message属性,它仅在are.Set()之后发生.我仍然想知道MessageBox为什么会这样做.

    private void CommandAction()
    {
        ShowOptionsDialog();
        MessageBox.Show("");
    }

    private async void ShowOptionsDialog()
    {
        var are = new AutoResetEvent(false);

        var viewmodel = new DialogPopupViewModel();
        viewmodel.Intialize("some title", "some message", DialogPopupViewModel.YesNoCancelButtons);
        SetOverlayViewModel(viewmodel);

        viewmodel.SetCloseViewAction(() =>
            {
                HideOverlayView();
                are.Set();
            });
        ShowOverlayView = true;

        await Task.Factory.StartNew(() =>
            {
                are.WaitOne();
                //return viewmodel.DialogResult;
            });
        //return DialogResultEnum.Cancel;

    }
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助

wpf messagebox async-await

1
推荐指数
1
解决办法
319
查看次数

File.CreateText / File.AppendText与File.AppendAllText

为了使用File.CreateText()File.AppendText()您必须:

  1. 通过调用这些方法之一来打开流
  2. 写消息
  3. 关闭流
  4. 配置流

为了使用它,只需使用它,它还将创建文件(如果尚不存在)。File.AppendAllText()

我正在谈论.Net 3.5

当时是否有任何理由像上述第一种方法那样进行?

.net c# file

1
推荐指数
1
解决办法
2071
查看次数