Versuch macht kluch
Mittwoch, 1.6.2022, 13:39 > daMaxSo viele Fragen. Warum übergibt man ein fucking DataGridView By Value?! Warum Exceptions fangen und dann ignorieren? Warum so viele verschiedene Versuche anstelle eines riesigen try-catch-Blocks? Was kann in dem ersten Loop schon schief gehen? Es sei denn, myDGV ist null, dann allerdings würde der nicht gefangene Nullpointer voll durchschlagen Und was ist MyDGV überhaupt für ein kaputter Variablenname?
Seufz
code crap | vb.net | man kann echt in jeder sprache schrott programmieren
Für die leeren Catch-Blöcke gehört der Autor abgewatscht, und zwar ein Schlag pro Catch-Block.
Welche Sprache ist das?
@tenebra: VB.net
Das ByVal scheint laut dieser Doku nicht so schlimm zu sein, wie ich zunächst befürchtet hatte. Zitat aus dem Code-Beispiel:
ByVal does not prevent changing the value of a field or property.
ByVal does prevent changing the value of c1 itself.
Das lese ich so, daß nur die Referenz auf das Objekt kopiert wird, aber nicht die Attribute selbst. Die aufgerufene Methode wird dadurch gehindert, die Referenz im Aufrufer zu überschreiben.
@tenebra: Ach so? Dann hatte ich ByVal mein Leben lang ganz falsch verstanden?! OMG wie peinlich.
@daMax: Das ist halt die Microsoft-Definition von "by value"...
Hier steht es auch nochmal (siehe Abschnitt "Ability to Modify").
https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/language-features/procedures/differences-between-passing-an-argument-by-value-and-by-reference
DataGridView sollte ja ein reference type sein, und kein value type.