# Динамическое приведение типов(Dynamic Type Casting)

При динамическом приведении типов используется постфиксное выражение типа `as DesiredTypeName`. Vala добавит в этом месте допустимости такой операции - если это не так, то будет возвращен null. Однако при этом требуется, чтобы и исходный и конечный типы были ссылочными типами.

Например

```csharp
Button b = widget as Button;
```

Если по какой причине тип widget не Button или его потомок или не реализует интерфейс Button, то b будет null. Такое приведение эквивалентно:

```csharp
Button b = (widget is Button) ? (Button) widget : null;
```
