Вопрос объединяет два понятия: классы времени выполнения и интерфейсы. Классы времени выполнения - это именованные типы, которые реализуются через набор интерфейсов, некоторые из которых могут быть уникальными для класса, а другие могут быть реализованы во многих классах.
Для системных типов заголовки C ++ в SDK будут содержать определения для всех интерфейсов, общедоступных и приватных, и вы можете искать их по GUID для сопоставления с классом. Хотя иногда в реестре могут появляться и интерфейсы с именами, это не гарантируется.
Я сделал быстрый поиск, и я вижу, что интерфейс, упомянутый в ошибке, является Windows.UI.Xaml.IPropertyChangedEventHandler
, который является базовым интерфейсом для делегата PropertyChangedEventHandler
. Поскольку это является частью XAML, ожидается, что эти интерфейсы должны быть реализованы гибкими объектами и всегда должны вызываться в потоке пользовательского интерфейса.
Ошибка указывает на то, что ваш неактивный делегат был зарегистрирован в одной квартире и вызван в другой. Вы можете решить эту проблему, сделав свой делегат гибким или создав и зарегистрировав его в потоке пользовательского интерфейса.
Спасибо
Ben