相关疑难解决方法(0)

.NET:使用AppDomains引发和处理事件的问题

这是我的问题的基本要点:

  1. 我的主要Window类实例化了A类.
  2. A类在辅助AppDomain中实例化B类.
  3. B类引发事件,A类成功处理事件.
  4. A级引发了自己的事件.

问题:在第4步中,当A类从捕获B类事件的事件处理程序方法引发自己的事件时,会引发该事件; 但是,从不调用Window类中的订阅处理程序.

没有例外被抛出.如果我删除辅助AppDomain,事件处理没有问题.

有谁知道为什么这不起作用?有没有其他方法可以在不使用回调的情况下完成这项工作?

我认为,如果有的话,问题将发生在第3步而不是第4步.

这是一个真实的代码示例来说明问题:

Class Window1

    Private WithEvents _prog As DangerousProgram    

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click    
        _prog = New DangerousProgram()
        _prog.Name = "Bad Program"  
    End Sub

    Private Sub MyEventHandler(ByVal sender As Object, ByVal e As NameChangedEventArgs) Handles _prog.NameChanged
        TextBox1.Text = "Program's name is now: " & e.Name
    End Sub

End Class


<Serializable()> _    
Public Class DangerousProgram

    Private _appDomain As AppDomain …
Run Code Online (Sandbox Code Playgroud)

.net events appdomain event-handling

8
推荐指数
2
解决办法
5691
查看次数

标签 统计

.net ×1

appdomain ×1

event-handling ×1

events ×1