Skip to content

SA1509 should ignore blank lines in dictionary initialization #2832

Open
@ArtemBan

Description

@ArtemBan

Sometimes in long dictionary initialization useful to group items by inserting blank lines between them for readability:

Dictionary<MyError, Guid> errorUids = new Dictionary<MyError, Guid>
{
    { new MyError { Name = "ErrorName1", Severity = Severity.Medium}, new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") },
    { new MyError { Name = "ErrorName2", Severity = Severity.Medium }, new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") },

    { new MyError { Name = "ErrorName3", Severity = Severity.Serious }, new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") },
    { new MyError { Name = "ErrorName4", Severity = Severity.Serious }, new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") },
    { new MyError { Name = "ErrorName5", Severity = Severity.Serious }, new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") },
    { new MyError { Name = "ErrorName6", Severity = Severity.Serious }, new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") },

    { new MyError { Name = "ErrorName7", Severity = Severity.Critical }, new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") },
    { new MyError { Name = "ErrorName8", Severity = Severity.Critical }, new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") },
    { new MyError { Name = "ErrorName9", Severity = Severity.Critical }, new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") },
};

Such code now causes warning, while the rule is obviously intended for code blocks and should ignore blank lines in initialization.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions