在D中返回类名的函数

Per*_*son 7 java d

比方说,类A1,A2,...,An都扩展了抽象类B.我希望A1,...,An有一个返回类名字符串的函数.这在编译时肯定是已知的,但我想在B中实现这个函数,并使用继承,以便所有Ai:s都能获得此功能.

在java中,通过让B拥有该方法,可以很容易地完成

String getName() {
    return this.getClass();
}
Run Code Online (Sandbox Code Playgroud)

或多或少.那么,我该怎么做D?此外,还有一种方法,使用特征或类似方法来确定哪些班级成员是公开的?

rat*_*eak 5

只是 typeof(this).stringof

但是,这在编译时是固定的,因此继承不会更改值

this.typeinfo.name
Run Code Online (Sandbox Code Playgroud)

将给出实例的类名的动态名称

http://www.d-programming-language.org/expression.html#typeidexpression
http://www.d-programming-language.org/phobos/object.html#TypeInfo_Class