Используйте cast
. Он возвращает нулевую ссылку, когда вы пытаетесь привести к подклассу, к которому он не относится (как в C ++ dynamic_cast).
auto a = new Base;
auto b = cast(Child) a;
assert(b is null);
a = new Child;
auto c = cast(Child) a;
assert(c !is null);