IDisposable, Finalizers und die Definition einer nicht verwalteten Ressource
Ich versuche sicherzustellen, dass mein Verständnis vonIDisposable
ist richtig und da bin ich mir noch nicht ganz sicher.
IDisposable
scheint zwei Zwecke zu erfüllen.
Meine Verwirrung rührt daher, dass ich herausgefunden habe, in welchen Szenarien "nicht verwaltete Ressourcen" im Spiel sind.
Angenommen, Sie verwenden ein von Microsoft bereitgestelltes ProduktIDisposable
Implementierende (verwaltete) Klasse (z. B. datenbank- oder socketbezogen).
IDisposable
Für nur1 oder1 & 2 über?Sind Sie dafür verantwortlich, dass nicht verwaltete Ressourcen, die möglicherweise intern gespeichert sind oder nicht, freigegeben werden? Sollten Sie Ihrer eigenen Klasse einen Finalizer hinzufügen (wäre das der richtige Mechanismus?), Der instanceOfMsSuppliedClass.Dispose () aufruft?