Попробуйте почитать в книге Мак-Дональда WPF. Я в детали не вникал, но там вроде бы подробно описано как создавать , регистрировать и вызывать маршрутизируемые события. Там написано, что нужно вызвать метод RaiseEvent. https://docs.microsoft.com/ru-ru/dotnet/api/system...
Так можно загрузить сборку HelloWorld.dll в основное приложение. Получается основное приложение должно мониторить ссылки подгружаемой сборки и вызывать его методы. Но сама сборка StarterLib.dll все равно работать не будет. А смысл плагина в том что запускать только метод библиотеки реализующей необходимый метод. А та библиотека разрабатывается как самостоятельное приложение, со своими ссылками. Интересно как это реализовано в автодеск ревит. Где плагин разрабатывается как самостоятельное приложение реализующее паттерн комманда. Revit его запускает, а в процессе выполнения комманды я использовал сторонние библиотеки, о которых ревит ничего не знал. Но методы этих библиотек вызывались и обрабатывались.
Да, это логично. Основное приложение знает только ту сборку какую оно подгружает, а не те сборки на которые та сборка ссылается. Просто смысл плагина в том, что он по идее должен работать как самостоятельное приложение, реализовав метод интерфейса для запуска (паттерн команда). А в процессе работы у расширения может возникнуть потребность в использовании сторонних библиотек, например выгрузки данных в Excel и тд, какие необходимый интерфейс не реализуют. Просто я писал плагины для Autodesk Revit. Реализовывал необходимые методы для запуска плагина. И в процессе мое приложение ссылалось на сторонние библиотеки, разрабатывалось как самостоятельное приложение, просто вместо метода Main использовал метод запуска расширения в revit. И все работало. Просто интересно как они такое реализовали.
Это я просто в примере так показал событие обернутое в MyEvent, чтобы показать возникшую проблему. У меня в приложении просто возникла ситуация, что в довольно большой класс с большим количеством свойств /значений с уже реализованным clone() через MemberwiseClone добавилось событие , и как следствие возникла такая ситуация, в другом объекте при копировании элемента в коллекции ObservableCollection, поэтому я составил такой пример. Теперь все понятно разъяснили, спасибо большое
Именно так я и решил проблему-отказом от MemberwiseClone. Просто в случае отказа от метода MemberwiseClone и присутствия большого количества переменных-значений в классе MyEvent пришлось бы вручную переназначать все эти переменные, объекту -клону. Думал что может есть какое-то другое решение проблемы помимо отказа от MemberwiseClone, чтобы не перебивать все свойства-значения вручную, но видимо нет. Спасибо
Проблема была в том что название файла-заставки (jpg) было выполнено кириллицей, а ее видимо VS не распознал, проблема решилось переименованием файла на латиницу
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.