> -- AVC писал(а):
> Это не паттерн. Это синтаксический сахар языка C#. Позволяет вместо текста:
## Код:
```
//...
{
  X x = null;
  try
  {
    x = new X();
    // use x...
  }
  finally
  {
    if (x != null)
    {
       x.Dispose();
    }
  }
}
//...
```
писать более кратко:## Код:
```
//...
using (X x = new X())
{
  // use x...
}
//...
```
Для этого нужно чтобы тип X реализовывал интерфейс System.IDisposable
## Код:
```
public interface IDisposable
{
  void Dispose ();
}
```

К этой же самой разновидности синтаксического сахара относится и lock:
## Код:
```
lock (obj)
{
  // use obj
}
```
разворачивается компилятором в## Код:
```
System.Threading.Monitor.Enter(obj);
try
{
   // use obj
}
finally
{
   System.Threading.Monitor.Exit(obj);
}
```
