eine Menge Warnungen bei Structure

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Bartosz.

    eine Menge Warnungen bei Structure

    Hallo,
    ich habe ein kleines Problem. Der FxCopAnalyzer beschwert sich gerade so richtig. Was kann man tun?

    Warnung CA1051 Sichtbare Instanzfelder nicht deklarieren
    Warnung CA1051 Sichtbare Instanzfelder nicht deklarieren
    Warnung CA1051 Sichtbare Instanzfelder nicht deklarieren
    Warnung CA1034 Schachteln Sie nicht den Typ "converted_to_the_original_image". Ändern Sie alternativ dazu seine Zugänglichkeit so, dass er nicht extern sichtbar is
    Warnung CA1805 Der Member "cttoi" wird explizit mit dem Standardwert initialisiert.
    Warnung CA1815 "converted_to_the_original_image" muss die Operatoren für Gleichheit (==) und Ungleichheit (!=) außer Kraft setze
    Warnung CA1815 "converted_to_the_original_image" muss "Equals" außer Kraft setzen.


    VB.NET-Quellcode

    1. Public Structure converted_to_the_original_image
    2. Public x As Double
    3. Public y As Double
    4. End Structure
    5. Public cttoi As New converted_to_the_original_image


    Bedingungen:
    • cttoi.x und cttoi.y müssen von innerhalb dieser Klasse (FormMain) sichtbar und veränderbar sein
    • FormMain.cttoi.x und FormMain.cttoi.y müssen von einer anderen Klasse aus sichtbar sein und brauchen nur lesbar sein. Aber aktuell müssen sie nicht sichtbar sein. Nämlich nur, wenn ich einen Fehler suche. Momentan nutze ich kein zweites Form, um Daten zu loggen. Diese Möglichkeit will ich mir aber offenlassen.
    Bilder
    • Screenshot 2021-10-05 174415.png

      16,04 kB, 543×160, 37 mal angesehen
    1 Warnung ist weg. Es bleiben noch 7.

    Warnung CA1051 Sichtbare Instanzfelder nicht deklarieren
    Warnung CA1051 Sichtbare Instanzfelder nicht deklarieren
    Warnung CA1051 Sichtbare Instanzfelder nicht deklarieren
    Warnung CA1034 Schachteln Sie nicht den Typ "converted_to_the_original_image". Ändern Sie alternativ dazu seine Zugänglichkeit so, dass er nicht extern sichtbar ist.
    Warnung CA1815 "converted_to_the_original_image" muss die Operatoren für Gleichheit (==) und Ungleichheit (!=) außer Kraft setzen.
    Warnung CA1815 "converted_to_the_original_image" muss "Equals" außer Kraft setzen.
    @Bartosz Gugst Du hier:
    docs.microsoft.com/de-de/dotne…ysis/quality-rules/ca1051
    Du kannst Warnungen auch ausblenden (das hier ist die C#-Syntax):

    C#-Quellcode

    1. #pragma warning disable 649
    2. // Code, der die Warnung generiert
    3. public byte reserved;
    4. #pragma warning restore 649
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany Ich entnehme deiner Aussage, dass das unnötige Warnungen sind. Ja? Ich frag nur, weil ich etwas erstaunt bin, dass 8 Warnungen auf 5 Zeilen Code kommen. Dies versteh ich überhaupt nicht. docs.microsoft.com/en-us/dotne…ysis/quality-rules/ca1034
    Soll ich die Struct außerhalb der Klasse definieren?

    Bartosz schrieb:

    dass das unnötige Warnungen sind. Ja?
    Sagen wir: In Deinem Kontext unnötig.
    Das Studio hat da einige Vorgaben, nach denen solche Warnungen generiert werden, und die kann man auch editieren und seinen "Bedürfnissen" und den innerbetrieblichen Spielregeln anpassen.

    Bartosz schrieb:

    Soll ich die Struct außerhalb der Klasse definieren?
    Nein.
    Eine interne Klasse eher.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!