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.

Reply via email to