Вам нужно инициализировать поле f
в конструкторе:
public class YourClassName
{
public Action f;
public YourClassName()
{
f = () =>
{
Dispatcher.Invoke(() => {what I must do in the UI thread });
}
}
}
То, что происходит, это то, что f
является полем вашего класса.Инициализаторы полей, такие как тот, который вы использовали, не имеют доступа к членам экземпляра класса, а только к статическим членам.
Если вам нужен доступ к членам экземпляра, вам нужно инициализировать поле в элементе экземпляра, например в конструкторе.