# Информация о типах времени выполнения(Run-Time Type Information)

В Vala классы регистрируются во время выполнения и каждый объект хранит информацию о типе и вы можете получить ее динамически с помощь оператора is:

```csharp
bool b = object is SomeTypeName;
```

Можно получать информацию об объектах типа `Object` с помощью метода `get_type()`:

```csharp
Type type = object.get_type();
stdout.printf("%s\n", type.name());
```

C помощь оператора `typeof()` вы можете получить информацию о типе напрямую. Затем из этой информации можно создать новый объект с помощью `Object.new()`:

```csharp
Type type = typeof(Foo);
Foo foo = (Foo) Object.new(type);
```

Какой из конструкторов будет вызван? Будет вызван код в блоке `construct {}`, который описан в разделе о конструкторах в стиле `gobject`.\
