Вот проблема, которая у меня есть: мне нужно убедиться, что объект создается в потоке пользовательского интерфейса. Если это не так, он должен генерировать исключение. Но как проверить внутри метода, работает ли он в потоке пользовательского интерфейса? Примечание. Я не хочу передавать какую-либо информацию в конструктор объекта.
Идеальным кандидатом был бы DispatcherSynchronizationContext (реализация SynchronizationContext в WPF), который внутренне содержит ссылку на Dispatcher, которая ссылается на поток, с которым он связан, но, к сожалению, это поле является закрытым, поэтому у меня нет возможности получить к нему доступ.