Waarom hebben we IDisposable nodig?
Waarom hebben we IDisposable nodig?

Video: Waarom hebben we IDisposable nodig?

Video: Waarom hebben we IDisposable nodig?
Video: Alex Thissen "It depends: loving .NET Core dependency injection or not" 2024, November
Anonim

IWegwerp zal niets opruimen of objecten vernietigen. Een aanroep van Dispose() doet niets als die functie niets doet. Het gebruik van IWegwerp is een patroon. Beheerde verwijzingen naar andere objecten voorkomen dat objecten worden opgehaald door de vuilnisman.

Evenzo kunt u zich afvragen waarom de IDisposable-interface wordt gebruikt?

IWegwerp is vaak gebruikt om de gebruiksverklaring te benutten en te profiteren van een gemakkelijke manier om deterministische opschoning van beheerde objecten uit te voeren. Het doel van het Dispose-patroon is om een mechanisme te bieden voor het opschonen van zowel beheerde als onbeheerde resources. Wanneer dat gebeurt, hangt af van hoe de Dispose-methode wordt aangeroepen.

Bovendien, wat is IDisposable? IWegwerp is een interface die een enkele methode bevat, Dispose(), voor het vrijgeven van onbeheerde bronnen, zoals bestanden, streams, databaseverbindingen enzovoort.

Als ik dit in overweging neem, wanneer moet ik IDisposable gebruiken?

in een klas, jij zou IDisposable moeten implementeren en overschrijf de methode Dispose zodat u kunt bepalen wanneer het geheugen wordt vrijgemaakt. Zo niet, dan wordt deze verantwoordelijkheid overgelaten aan de garbage collector om het geheugen vrij te maken wanneer het object met de onbeheerde bronnen is voltooid.

Waarom moeten we beschikken in C#?

Het wordt altijd aanbevolen om weggooien methode om onbeheerde bronnen op te schonen. Maar onbeheerde bronnen (bijvoorbeeld door Windows API gemaakte objecten, bestanden, databaseverbindingsobjecten, COM-objecten, enz.) vallen buiten het bereik van. NET-framework wij onze middelen expliciet moeten opschonen. Voor dit soort objecten is.

Aanbevolen: