Понимание требований к инициализации в полевых условиях ⇐ C#

Место общения программистов C#
Anonymous
Понимание требований к инициализации в полевых условиях

Сообщение Anonymous »

Рассматривая следующий код: < /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

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