emeriks
Goto Top

VB.Net Warnung unterbinden

Hi,
wenn ich im Visual Studio (VB.Net) u.g. Code verwende, dann meckert die IDE immer rum, dass der Code nicht für alle Pfade eine Wert zurückliefern würde. (ist ne Warnung)

Bsp.: Ich habe ne Form und füge dort die u.g. Sub ein. Wenn der Aufruf aus einem anderen Thread kommt, dann würde die einfache Abfrage von "Me.Text" eine Ausnahme auslösen. Also der Weg über "Invoke".
Im Zweig nach "Me.Invoke..." muss ich kein "Return ..." einbauen. Der Code liefert in jedem Fall ein Ergebnis zurück. Was soll da diese Warnung der IDE? Ich finde diese bloß nervig, weil ich viele solcher Aufrufe habe und deshalb meine Warnungen ständig >0 sind, sodass ich "echte" Warnungen leicht übersehe.

Kann man für einzelne Warnungen einstellen, dass diese ignoriert werden sollen?

Ich hoffe, ich konnte mich halbwegs verständlich ausdrücken ...

Public Function GetValue() As Object
    If Me.InvokeRequired Then
      Me.Invoke(New Action(AddressOf GetValue))
    Else
      Return Me.Text
    End If
End Function

E.

Content-Key: 299295

Url: https://administrator.de/contentid/299295

Ausgedruckt am: 28.03.2024 um 20:03 Uhr

Mitglied: agowa338
Lösung agowa338 16.03.2016 aktualisiert um 19:49:19 Uhr
Goto Top
Was ist mit:
If Me.InvokeRequired Then
    string temp = (string)Me.Invoke(New ...)
    Return temp
Else

Auf jedenfalls kommt der Fehler, weil das Schlüsselwort "Return" in einem deiner If zweige fehlt face-wink egal ob du es brauchst oder nicht, so lange es nicht da ist gibt es Fehler...

Und hier, wie du eine einzige Warnung ausblendest: https://msdn.microsoft.com/en-us/library/jj715718.aspx
Mitglied: emeriks
emeriks 16.03.2016 aktualisiert um 20:35:51 Uhr
Goto Top
Me.Invoke liefert kein Ergebnis

Danke für den Link. Mal sehen, ob das hilft. Erstens muss ich jetzt die Codes rausbekommen. Zweitens habe ich da was in der GUI gefunden unter Projekt --> Eigenschaften --> Kompilieren. Und drittens blendet es dann pauschal alle Warnungen eines Types aus. Letzteres will ich ja nun auch wieder nicht.
Mitglied: emeriks
emeriks 16.03.2016 um 20:48:37 Uhr
Goto Top
Mein Code funktioniert so gar nicht ...
Aber so: face-wink Damit ist auch die Warnung weg ...

  Public Function GetValue() As Object
    If Me.InvokeRequired Then
      Return Me.Invoke(Function() As Object
                         Return Me.GetValue
                       End Function)
    Else
      Return Me.Text
    End If
  End Function