Рассматривая следующий код: < /p>
public class Progressor
{
private IProgress progress = new Progress(OnProgress);
private void OnProgress(int value)
{
//whatever
}
}
< /code>
Это дает следующую ошибку при компиляции: < /p>
Инициализатор поля не может ссылаться Почему это проблема, но поле может быть инициализировано в конструкторе вместо этого следующим образом: < /p>
public class Progressor
{
private IProgress progress;
public Progressor()
{
progress = new Progress(OnProgress);
}
private void OnProgress(int value)
{
//whatever
}
}
< /code>
Какова разница в C# в отношении инициализации поля против инициализации конструктора, которая требует этого ограничения? < /p>
Подробнее здесь: https://stackoverflow.com/questions/274 ... quirements