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

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

Сообщение Anonymous »

Я хотел бы использовать Lazy для реализации мемоизации, но функция инициализации, похоже, требует статического контекста.
Например, следующий код отказывается компилировать, предупреждая, что нестатические члены 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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