Zitat von
Muetze1:
Ist einfach zu beantworten: Dispose() will den Typ haben, damit er weiss wieviel er freigeben muss. Wenn du ihm einen Pointer gibst, dann weiss er nicht wie gross der Speicherbereich ist, den er freigeben muss. Daher darfst du ihm nicht den allgemeinen Typ von Node.Data übergeben sondern den richtigen Typ deines Records.
Das ist so nicht ganz richtig! Dispose benötigt nicht die Größe des Speichers, die ist dem MM bekannt. Was ohne den korrekten Typen nicht klappt ist die Finalisierung des Records, also die Freigabe von Strings und Interfaces.