Подтвердить что ты не робот

Что следует передавать как objectName при бросании ObjectDisposedException?

При реализации IDisposable я обязуюсь, чтобы каждый метод, который не должен был вызываться после размещения объекта, должен выбросить ObjectDisposedException. Но каков стандарт для объекта name, который должен быть передан конструктору исключения?

4b9b3361

Ответ 1

Я считаю, что рекомендуемая практика заключается в том, чтобы бросить следующее:

throw new ObjectDisposedException(GetType().FullName);

Или включая проверку этих двух строк кода вверху каждого метода, который ему нужен (очевидно, не самого метода Dispose):

if (this.disposed)
    throw new ObjectDisposedException(GetType().FullName);

Возможно, будет полезно реорганизовать это в крошечный метод для удобства использования.

Ответ 2

Даже сама .NET Framework здесь не очень последовательна.

Дэвид М. Кин (бывший разработчик команды FxCop в Microsoft) добавил комментарий к

Ответ 3

Я не верю, что есть стандарт для этого, я бы вернул тип объекта вместе со строковым содержимым уникального идентифицирующего поля ( "Основной ключ" ).