Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.
... und diese Signatur kürzer!
- übersichtlicher
- logischer
- verständlicher
Ich wüsste nicht, in wie weit da eine statische Liste aller Instanzen, die von der Klasse selbst geführt wird, relevant sein sollte.
Dass mein Programm aber irgendwo eine Auflistung haben muss, wo alle möglichen Pins drin gespeichert sind, ist schon logisch oder? Wenn es die Matrix generiert, habe ich keinen großen Bock jedes Mal meinen riesigen Klassenbaum zu durchlaufen, nur um an die Blätter zu kommen, die die Pins sind. Das geht doch wesentlich schneller, wenn ich die Pins schon alle in Listen habe und dann nur noch eine Matrix daraus generieren muss!?Erst mal stimme ich Sacaldur zu:
Zitat von »Sacaldur«
Ich wüsste nicht, in wie weit da eine statische Liste aller Instanzen, die von der Klasse selbst geführt wird, relevant sein sollte.
Aber ich ändere doch garnicht die GUI, sondern rufe Clear() für die Collections auf!? Und der Destruktor, der das ganze verursacht - in welchem Thread wird der aufgerufen? Kann ich das mit Visual Studio 2015 rausfinden?Weiterhin können Änderungen an der GUI in WPF nur im GUI Thread selbst getätigt werden.
Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.
... und diese Signatur kürzer!
- übersichtlicher
- logischer
- verständlicher
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »CeDoMain« (22.05.2016, 00:59)
Die Matrix wird oft ein und ausgeblendet, weil man nicht immer die Verknüpfungen verändern möchte. Außerdem wird es am Ende ca. 20 verschiedene Generic-Parameter geben. Wenn die Matrix eingeblendet wird, müsste erstmal eine komplexe Baumhierarchie traversiert werden und dann noch nach Generic-Parametern gefiltert werden. Das klingt für mich wesentlich aufwendiger als einfach alle Instanzen in Listen der jeweiligen generischen Pin-Klassen zu speichern. Was sich vergleichsweise wenig ändert ist die Menge der Pins an sich. Das spricht meiner Meinung nach auch für eine sortierte Speicherung. Sind damit denn jetzt alle Zweifel an etwaigen Designfehlern geklärt?Wenn du eine Matrix nur selten erzeugst, und so verstehe ich das was du gezeigt hast, lohnt sich das Speichern in einer Liste nicht wirklich. Das wäre höchstens minimal effizienter, wenn überhaupt.
Ein direktes Binding gibt es nicht, die einzige verbindung ist hierin Zeile 18/19 zu finden. Wird dieses Event ausgelöst werden die 3 Listen in Zeile 7-9 aktualisiert, die dann tatsächlich mit einem Binding an die GUI gekoppelt sind. Aber so ein System findet sich doch öfters!? Das klappt ja auch wunderbar während der Laufzeit - nur eben nicht wenn das Update durch einen Destruktoraufruf am Ende des Programms ausgelöst wird.Geht es nicht um Observable-Collections? Die sind vermutlich mit irgendeinem Binding an die Gui gekoppelt.
Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.
... und diese Signatur kürzer!
- übersichtlicher
- logischer
- verständlicher
Das klappt ja auch wunderbar während der Laufzeit - nur eben nicht wenn das Update durch einen Destruktoraufruf am Ende des Programms ausgelöst wird.
Und was ist dann das? Außerdem verwende ich doch Destruktoren in meinem Code!?In C# gibt es übrigens keine Destruktoren.
Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.
... und diese Signatur kürzer!
- übersichtlicher
- logischer
- verständlicher
Also eigentlich heißen die Dinger ja Finalizer. Interessant, dass sie in der Doku als Destruktoren drin stehenUnd was ist dann das?In C# gibt es übrigens keine Destruktoren.
Im Debugger wird mir beim Fehlerwurf der "GC-Finalizer-Thread" als aktueller Thread genannt. Ist der nicht berechtigt die ObservableCollections zu leeren?
Kann es nicht sogar sein, dass der Destruktor eines Pins nie aufgerufen wird (außer am Programmende), weil jeder Pin in meiner Instanzenliste enthalten ist und daraus nur durch den Destruktor gelöscht wird!?
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].
Werbeanzeige