Was bedeutet using (object obj = new Object ())?

7

Was bedeutet diese Aussage in C #?

%Vor%     
Ricardo 12.01.2010, 18:40
quelle

5 Antworten

13

Dies bedeutet, dass obj IDisposible implementiert und nach dem using -Block ordnungsgemäß entsorgt wird. Es ist funktional das gleiche wie:

%Vor%     
Justin Niessner 12.01.2010, 18:41
quelle
5
%Vor%

Entspricht:

%Vor%     
Darin Dimitrov 12.01.2010 18:43
quelle
1

warum existiert es?

Sie existiert für Klassen, deren Lebensdauer Sie besonders interessiert, insbesondere wenn die Klasse eine Ressource im Betriebssystem umschließt und Sie sie sofort freigeben möchten. Andernfalls müssten Sie auf die (nicht deterministischen) CLR-Finalisierer warten.

Beispiele, Dateihandles, DB-Verbindungen, Socket-Verbindungen, ....

    
pm100 12.01.2010 18:46
quelle
0

Es ist eine Möglichkeit, ein Objekt zu definieren, sodass die Methode dispose beim Beenden aufgerufen wird. Dies ist insbesondere für Datenbankverbindungen sehr nützlich. Ein Kompilierzeitfehler tritt auf, wenn das Objekt idisposable nicht implementiert.

    
Pharabus 12.01.2010 18:43
quelle
0

using stellt sicher, dass das zugewiesene Objekt nach dem using-Block ordnungsgemäß entsorgt wird, auch wenn eine unbehandelte Ausnahme im Block auftritt.

    
Johannes Rudolph 12.01.2010 18:44
quelle

Tags und Links