Vermeiden Sie die CS8618-Warnung, wenn das lokale Mitglied über eine andere im Konstruktor aufgerufene Methode instanziiC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Vermeiden Sie die CS8618-Warnung, wenn das lokale Mitglied über eine andere im Konstruktor aufgerufene Methode instanzii

Post by Anonymous »

Diese Frage bezieht sich auf die Nullable-/Nicht-Nullable-Referenztypen, die in C# 8.0 hinzugefügt wurden.
Wenn ich die Nullable-Eigenschaft in meinem Projekt auf „Enable“ gesetzt habe und ich eine Klasse habe, in der ein Feld während des Konstruktors, aber über einen Aufruf einer separaten Methode instanziiert wird – wie kann ich die folgende Warnung vermeiden?

CS8618 „Nicht-Nullable-Feld muss ein enthalten Nicht-Null-Wert beim Verlassen des Konstruktors. Erwägen Sie, das Feld als nullable zu deklarieren.'

Ist etwas grundsätzlich falsch daran, einen nullbaren Memberwert auf diese Weise festzulegen?
Beispiel:

Code: Select all

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;
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post