> For the complete documentation index, see [llms.txt](https://vala.gitbook.io/vala/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vala.gitbook.io/vala/untitled/oop/dynamic-type-casting.md).

# Динамическое приведение типов(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;
```
