В главном потоке перед созданием фонового потока сохраните значение SynchronizationContext.Current
в переменной с именем context
, доступной для порожденного потока. Затем попробуйте следующий код,
bool result = false;
context.Send((c) => result = YourClass.GetMyProperty(obj), null);
Возможно, вы захотите переписать статический метод, чтобы проверить, находится ли он в правильном потоке, и, если нет, использовать значение SynchronizationContext.Current
, для которого спрятаны значения, чтобы временно переключиться на правильный поток для получения значения.