есть ли в С# аналог std::auto_ptr ?
От: catBasilio  
Дата: 07.06.11 08:08
Оценка:
собственно сабж. с помощью него в с++ очень удобно организовывать RAII. пример:

Например что-то вроде:
class MyDialogWindow : public MyDialogBase
{
public:
 MyDialogWindow(){};
~MyDialogWindow()
{ 
  // Тут ничего писать не надо. оно все само освободится.
}

public:
  virtual void OnCreateFile()
  {
    Operation.reset(new FileOperation("c:\\file.txt"));
  }

  virtual void OnAddLineButton()
  {
    Operation->AddLine();
  }

  virtual void OnAddTitleButton()
  {
    Operation->AddTitle();
  }

  virtual void OnBlaBlaAction()
  {
    Operation->BlaBlaAction();
  }

private:
  std::auto_ptr<FileOperation> Operation;
}



При этом невозможно забыть освободить ресурс, так как оно произойдет автоматически.
А как подобное реализуется в C# ?
UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.