Я использую фреймворк SharpObservation, чтобы динамически генерировать слабые ссылки на события. Когда я ссылаюсь на действие из делегата, я получаю исключение TypeAccessException.Динамически сгенерированный слабый случай недействителен для действия <T> звонки
Попытка методом 'DynamicClass.Construct (System.EventHandler 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();