Избегайте предупреждения CS8618, когда экземпляр локального члена создается с помощью другого метода, вызываемого в консC#

Место общения программистов C#
Ответить
Anonymous
 Избегайте предупреждения CS8618, когда экземпляр локального члена создается с помощью другого метода, вызываемого в конс

Сообщение Anonymous »

Этот вопрос относится к ссылочным типам, допускающим и не допускающим значение NULL, которые были добавлены в C# 8.0.
Если у меня для свойства Nullable в моем проекте установлено значение «Включить», и у меня есть класс, в котором экземпляр поля создается во время конструктора, но посредством вызова отдельного метода, как мне избежать следующего предупреждения?

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

Есть ли что-то принципиально неправильное в установке таким образом значений элементов, допускающих значение NULL?
Пример:
public class Foo
{
public Foo()
{
//Do some other constructor stuff
InitialiseBar();
}

private void InitialiseBar()
{
_bar = new Bar();
//Do some initial stuff with _bar
}

private Bar? _bar;
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... ethod-call
Ответить

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

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

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

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

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