我正在使用SharpObservation框架来动态生成弱事件引用。当我从委托中引用一个操作时,我得到一个 TypeAccessException。
尝试通过方法“DynamicClass.Construct(System.EventHandler 1<XYZ>, System.Action
11<XYZ>>, System.Delegate)”访问类型“System.Action3c__DisplayClass6,System.Object,XYZ>”失败。
如果我删除该操作,那么一切正常。我什至尝试注释掉整个动作,但它仍然失败。我相信这与编译器从操作创建的方法是私有的或内部的或某些东西有关,因此无法从外部访问它。我将如何解决这个问题?
Action eventCompleted = () =>
{
SomeMethod();
};
EventHandler<XYZ> eventDelegate = delegate
{
System.Windows.Application.Current.Dispatcher.BeginInvoke(eventCompleted);
};
newItem.Event += eventDelegate.MakeWeak();