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();