Runtime Type Information
Since Vala classes are registered at runtime and each instance carries its type information you can dynamically check the type of an object with the is
operator:
bool b = object is SomeTypeName;
You can get the type information of Object
instances with the get_type()
method:
Type type = object.get_type();
stdout.printf("%s\n", type.name());
With the typeof()
operator you can get the type information of a type directly. From this type information you can later create new instances with Object.new()
:
Type type = typeof(Foo);
Foo foo = (Foo) Object.new(type);
Which constructor will be called? It's the construct {}
block that will be described in the section about gobject-style construction.