Я реализую библиотеку классов C ++ / CLI, которая выполняет низкоуровневую работу с устройствами и предоставляет несколько управляемых классов.Эта библиотека собирается использоваться несколькими WPF-проектами на C #.
Один из классов (называемый CalibrationRecord) состоит из нескольких открытых свойств, и некоторые из них являются коллекциями, в настоящее время реализованными в виде общих списков.Один из проектов WPF должен иметь возможность редактировать эти коллекции (т. Е. Реализовывать операции CRUD).
Я не уверен, будет ли лучше:
A.Реализуйте эти коллекции как ObservableCollections и сможете использовать их непосредственно из привязок WPF
B.Добавьте еще один слой в клиентское приложение / другую библиотеку DLL и оберните CalibrationRecord в ObservableCalibrationRecord, где коллекции являются ObservableCollections, а свойства реализуют INotifyPropertyChanged
Я думаю, что B является "более чистым" решением, поскольку в этом случае моя библиотека lib не знаетИнтерфейсы и классы, связанные с WPF, однако, было бы много дополнительной работы для реализации этого уровня, и это был бы просто скучный шаблонный код, так что А. кажется заманчивым.
Какое решение вы бы порекомендовали?Или, может быть, мне не хватает более простого решения?