Можно ли безопасно очистить поле объекта только для чтения?

Допустим, у меня есть класс с полем объекта. Когда вызывается Dispose (), я хотел бы очистить ссылку на этот объект. Частное поле может быть установлено только один раз, поэтому в идеале я хотел бы, чтобы оно было доступно только для чтения, но если оно доступно только для чтения, возникает ошибка времени компиляции, когда я пытаюсь освободить ссылку на объект во время Dispose (). В идеале я хотел бы иметь безопасное удаление И пометить поле _value как доступное только для чтения. Возможно ли это или даже необходимо?

public class Foo : IDisposable
{
      public Foo(object value)
      {
            _value = value;
      }

      public object Value { get { return _value; } }
      private readonly object _value;

      public void Dispose()
      {
            //Cleanup here
            _value = null     // causes compile time error
      }
}
6
задан cordialgerm 22 October 2010 в 02:47
поделиться