Почему компилятор C# не видит, что переменная не равна нулю перед выходом из конструктора? [дубликат]C#

Место общения программистов C#
Anonymous
Почему компилятор C# не видит, что переменная не равна нулю перед выходом из конструктора? [дубликат]

Сообщение Anonymous »

Код: Выделить всё

public class Document
{
private string file_path;
public Document()
{
InitializeDocument();
}
private void InitializeDocument()
{
file_path = @"C:\mydocument.doc";
}
}
Я получаю сообщение об ошибке:

CS8618: поле «file_path», не допускающее значения NULL, должно содержать ненулевое значение при выходе из конструктора. Рассмотрите возможность добавления модификатора «required» или объявления поля как допускающего значение NULL.

Это действительно странно, поскольку при выходе переменная file_path не равна нулю!

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