Beim Erstellen eines Elements, das IDisposable
implementiert, Dispose()
wird am Ende des using
Block auch aufgerufen, wenn eine Ausnahme ausgelöst wird, wenn ich richtig bin.Werden Objekte, die im Konstruktor erstellt wurden, auch durch "using" gelöscht?
Wenn jedoch ein neues Element ClassB
innerhalb des Konstruktors eines Einwegelements erstellt wird, wird das Objekt von ClassB ebenfalls entsorgt, wenn IDisposable
implementiert ist?
using (ClassA a = new ClassA(new ClassB()))
{
}
Dies kann zu Klassen gelten, die Stream
verwandt sind. Aber gilt das generell?
Nr Sein im Konstruktor wird nicht erstellt, aber ** vor ** der Konstruktor. – dymanoid
Es wäre verpatzt, wenn es so wäre. Sie könnten einen ClassB erstellen, der IDisposable implementiert und mit ungefähr so vielen Schlüsselstrichen wie diese Frage testet. – Paparazzi