Laden...

Werden IDisposable Objekte innerhalb einer IDisposable erbenden Klasse automatisch Disposed? => Nein

Erstellt von marcial187 vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.421 Views
M
marcial187 Themenstarter:in
56 Beiträge seit 2012
vor 10 Jahren
Werden IDisposable Objekte innerhalb einer IDisposable erbenden Klasse automatisch Disposed? => Nein

Hallo,

ich erstelle eine Klasse die von IDisposable erbt und mit einigen Objekten, die ebenfalls davon erben arbeitet, etwa so:

class Test : IDisposable
    {
        public DataTable dataTable { get; set; }
        public Test()
        {
             dataTable = new DataTable();
        }
    }

Meine Frage ist nun: Wenn ich für das Objekt von class "Test" Dispose() aufrufe, muss ich zuvor dataTable disposed haben? Oder geschieht das automatisch?

Also bspw:

Test test = new Test();
test.Dispose(); // test.dataTable wird automatisch disposed

oder:

Test test = new Test();
test.dataTable.Dispose();
test.Dispose();

Danke und Grüße

R
38 Beiträge seit 2011
vor 10 Jahren

Da du ja in deiner Testklasse die Dispose Funktion implementieren musst, kannst du einfach in dieser alle anderen sich innerhalb des Test-Klasse befindenen Objekte disposen.

Projekte
my dvds - Die DVD & BluRay Verwaltung für Windows Phone 8

M
marcial187 Themenstarter:in
56 Beiträge seit 2012
vor 10 Jahren

Alles klar danke dir.

1.552 Beiträge seit 2010
vor 10 Jahren

Hallo marcial187,

siehe auch CA1063: IDisposable korrekt implementieren

Gruß,
Michael

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo marcial187,

siehe auch Dispose implementieren und verwenden (IDisposable).

herbivore