Информация о типах времени выполнения(Run-Time Type Information)
В Vala классы регистрируются во время выполнения и каждый объект хранит информацию о типе и вы можете получить ее динамически с помощь оператора is:
bool b = object is SomeTypeName;
Можно получать информацию об объектах типа Object
с помощью метода get_type()
:
Type type = object.get_type();
stdout.printf("%s\n", type.name());
C помощь оператора typeof()
вы можете получить информацию о типе напрямую. Затем из этой информации можно создать новый объект с помощью Object.new()
:
Type type = typeof(Foo);
Foo foo = (Foo) Object.new(type);
Какой из конструкторов будет вызван? Будет вызван код в блоке construct {}
, который описан в разделе о конструкторах в стиле gobject
.
Last updated
Was this helpful?