Zum Hauptinhalt springen
ai-slop/csharp-suppressed-warningmanuelle Behebung

Unbegründet unterdrückte Warnung.

Ein `#pragma warning disable` ohne Kommentar oder ein `[SuppressMessage]` ohne echte `Justification`. Der Befund des Analyzers ist versteckt, und niemand weiß, warum.

Beanstandete und saubere Form.

Jedes Beispiel zeigt genau die Codeform, nach der die Regel sucht, und dann die kleinste Version, die die Absicht bewahrt, ohne Risiken zu verstecken oder Rauschen hinzuzufügen.

csharp-suppressed-warning.cs
✗ Beanstandet
#pragma warning disable CS8618
public class CustomerDto
{
    public string Email { get; set; }
}

[SuppressMessage("Design", "CA1031", Justification = "<Pending>")]
public void Refresh() => _cache.Reload();
Warum das anschlägt

Deterministischer Zeilenabgleich: beanstandet `#pragma warning disable` ohne nachgestellten `//`-Kommentar oder Kommentar in der vorherigen nicht leeren Zeile, sowie `SuppressMessage(`, dessen `Justification` fehlt, leer ist oder `pending`, `<Pending>` bzw. `todo` lautet.

csharp-suppressed-warning.cs
✓ Sauber
public class CustomerDto
{
    public required string Email { get; set; }
}

[SuppressMessage("Design", "CA1031", Justification = "Cache refresh is best-effort; failures are logged inside Reload")]
public void Refresh() => _cache.Reload();
Was sich geändert hat

Behebe die Warnung. Ist die Unterdrückung gerechtfertigt, nenne den Grund in einem Kommentar oder in der Justification, und bevorzuge ein eng begrenztes disable/restore-Paar gegenüber einem Disable für die ganze Datei.

Agenten bringen Compiler- und Analyzer-Warnungen zum Schweigen, um einen sauberen Build zu bekommen, statt das eigentliche Problem zu beheben, und generierte Unterdrückungen behalten oft den Platzhalter `<Pending>`.

Wie diese Regel begründet ist.

Regel-ID

ai-slop/csharp-suppressed-warning

Prüfende Engine

ai-slop

Erkennungsstrategie

Deterministischer Zeilenabgleich: beanstandet `#pragma warning disable` ohne nachgestellten `//`-Kommentar oder Kommentar in der vorherigen nicht leeren Zeile, sowie `SuppressMessage(`, dessen `Justification` fehlt, leer ist oder `pending`, `<Pending>` bzw. `todo` lautet.

Legitimer Code, der NICHT beanstandet wird

`#pragma warning restore`, durch einen angrenzenden Kommentar begründete Disables und `[SuppressMessage]`-Attribute mit echter Justification werden nicht beanstandet.

Belege

Teil des C#-Regelsatzes von aislop. Vollwertige C#-Unterstützung, einschließlich C#-spezifischer AI-Slop-Regeln, kam mit aislop v0.14.1.