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 ...
E.
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.
3 Antworten
- LÖSUNG agowa338 schreibt am 16.03.2016 um 19:43:03 Uhr
- LÖSUNG emeriks schreibt am 16.03.2016 um 20:20:23 Uhr
- LÖSUNG emeriks schreibt am 16.03.2016 um 20:48:37 Uhr
- LÖSUNG emeriks schreibt am 16.03.2016 um 20:20:23 Uhr
LÖSUNG 16.03.2016, aktualisiert um 19:49 Uhr
Was ist mit:
Auf jedenfalls kommt der Fehler, weil das Schlüsselwort "Return" in einem deiner If zweige fehlt
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
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
Und hier, wie du eine einzige Warnung ausblendest: https://msdn.microsoft.com/en-us/library/jj715718.aspx
LÖSUNG 16.03.2016, aktualisiert um 20:35 Uhr
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.
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.
LÖSUNG 16.03.2016 um 20:48 Uhr
Mein Code funktioniert so gar nicht ...
Aber so:
Damit ist auch die Warnung weg ...
Aber so:
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