IDisposable, финализаторы и определение неуправляемого ресурса

Я пытаюсь убедиться, что мое пониманиеIDisposable правильно, и в этом я все еще не совсем уверен.

IDisposable кажется, служит двум целям.

To provide a convention to "shut down" a managed object on demand. To provide a convention to free "unmanaged resources" held by a managed object.

Моя путаница связана с определением того, какие сценарии содержат «неуправляемые ресурсы». в игре.

Допустим, вы используете поставляемую MicrosoftIDisposable- реализуемый (управляемый) класс (скажем, связанный с базой данных или сокетом).

How do you know whether it is implementing IDisposable for just 1 or 1&2 above? Are you responsible for making sure that unmanaged resources it may or may not hold internally are freed? Should you be adding a finalizer (would that be the right mechanism?) to your own class that calls instanceOfMsSuppliedClass.Dispose()?

Ответы на вопрос(8)

Ваш ответ на вопрос