Use Nullable Type Attributes for Properties/Fields where Initialization is Outside the Constructor
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Beginnen Sie mit der Durchsicht der Beispiele zur nullable-analysis im Issue, insbesondere von TestContext und der berechneten Name-Eigenschaft. Ermitteln Sie die Einstiegspunkte der Codeanalyse-Regeln im Repository und das vorhandene pragma-bezogene Verhalten. Als abgeschlossen gilt die Aufgabe, wenn eine Regel nullable-Attribute für die Initialisierung außerhalb des Konstruktors vorschlägt, anstatt ein pragma zu erzeugen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Given properties that the compiler can't detect initialization for, such as MSTest's TestContext or a calculated Name property that splits the assignment to FirstName and LastName, use nullable attributes.
Examples:
[DisallowNull][NotNull]
public TestContext? TestContext {get;set;}
and
Person(string name) { Name = name; }
[DisallowNull][NotNull]
public string? FirstName {get;set;}
[DisallowNull][NotNull]
public string? FirstName {get;set;}
public string Name
{
get => $"{FirstName} {LastName}";
set => { ... }
}
Proposal:
Create a code analysis rule that adds the attributes rather than creates generates a pragma.
- Vorherrschende Sprache
- C#
- Sterne
- 12
- Forks
- 16
- Ø Merge
- 2 Min.
- Gemergte PRs (30 T.)
- 7
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus IntelliTect/CodingGuidelines
-
Overriding ToString() Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 25/100
IntelliTect/CodingGuidelines#290 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 45/100
IntelliTect/CodingGuidelines#253 ·
-
.editorconfig C# coding guidelines proposal
IntelliTect/CodingGuidelines#249 · 6 Kommentare · 1 Reaktion · 2 zugewiesene Personen ·
-
analyzer C# coding guidelines proposal
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
IntelliTect/CodingGuidelines#231 ·
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
IntelliTect/CodingGuidelines#230 ·
Alle Issues in IntelliTect/CodingGuidelines
Ähnliche Issues
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
Type: enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
apache/arrow-adbc#4809 ·
-
type/automation type/tech-debt
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
microsoft/vscode-azurefunctions#5197 · 1 Kommentar ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
microsoft/microsoft-ui-reactor#1274 ·