On 30/05/10 19:46, dave wrote:
Hi,
sort of new to D programming, coming from C++. Basically the question is if
there is some sort of a way to dynamically cast a variable in D much like you
do in C++?
ex:
interface A {...}
class B {...}
class C : B {...}
class D : B, A {...}
function(B something) {
A a = dynamic_cast<A>(something);
}
I can't seem to find a way to check if a variable has a particular class or
interface it inherits, would be nice.
void func(B something)
{
A a = cast(A)something;
}
Is what you're looking for I believe. As for your other request, take a
look at std.traits, __traits, or if you're using D1 std.traits,
tango.core.Traits, tango.core.RuntimeTraits.