Use Nullable Type Attributes for Properties/Fields where Initialization is Outside the Constructor
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
Piste de recherche
Commencez par examiner les exemples de nullable-analysis dans l’issue, en particulier TestContext et la propriété Name calculée. Repérez les points d’entrée des règles d’analyse du code du repository ainsi que le comportement existant lié à pragma ; le travail est terminé lorsqu’une règle propose des attributs nullable pour l’initialisation en dehors du constructeur au lieu de générer un pragma.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- C#
- Étoiles
- 12
- Forks
- 16
- Merge moyen
- 2 min
- PR mergées (30 j)
- 7
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de IntelliTect/CodingGuidelines
-
Overriding ToString() Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
IntelliTect/CodingGuidelines#290 ·
-
proposal: ban List<T>.ForEach Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 45/100
IntelliTect/CodingGuidelines#253 ·
-
.editorconfig C# coding guidelines proposal
IntelliTect/CodingGuidelines#249 · 6 commentaires · 1 réaction · 2 personnes assignées ·
-
INTL0001 when using records Ouverteanalyzer C# coding guidelines proposal
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
IntelliTect/CodingGuidelines#231 ·
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
IntelliTect/CodingGuidelines#230 ·
Toutes les issues de IntelliTect/CodingGuidelines
Issues similaires
-
CS0162 "Unreachable code detected" warning from a MSBuildTemp .tmp file in every game project Ouvertebug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
-
Type: enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
apache/arrow-adbc#4809 ·
-
type/automation type/tech-debt
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
microsoft/vscode-azurefunctions#5197 · 1 commentaire ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
microsoft/microsoft-ui-reactor#1274 ·