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

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

Например

Button b = widget as Button;

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

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

Last updated