There are three ways to cast a type (that is, changing from a type to another one). One is "safe" while the two others are "unsafe".
Doing a safe casting is as simple as using the cast
keyword with the syntax cast(variable, Type)
. Therefore, you can do:
var a : A; var b : B; b = cast(a, B);
This will work if a
is in fact an instance of B
. If it's not, you will get an error at runtime.
You can do an unsafe casting by using the cast
keyword in another way. If you just write cast
followed by a variable or a value, you can use it as any type. So, for example, the following will compile:
var i : Int; i = cast "Hello";
Keep in mind that although this code will compile, it is absolutely possible that depending on the target, it will fail at runtime.
3.129.210.102