Почему Lazy ограничен статическими контекстами?C#

Место общения программистов C#
Anonymous
Почему Lazy ограничен статическими контекстами?

Сообщение Anonymous »

Я хотел бы использовать Lazy T для реализации мемоизации, но функция инициализации, похоже, требует статического контекста.

Например, следующий код отказывается компилироваться, предупреждая, что нестатические члены a и b недоступны. . Мне не ясно, почему это так, поскольку объект Lazy сам является членом экземпляра и не имеет видимости в статическом контексте.

public class SomeExpensiveCalculation
{
private int a;
private int b;
public Lazy Result = new Lazy(() => a + b); //nope!
}


Подробнее здесь: https://stackoverflow.com/questions/668 ... c-contexts

Вернуться в «C#»