Dlang:获取实例的所有超类的名称作为数组
Dlang: get names of all superclasses for an instance as array
我可以获得具有 fullyQualifiedName 的实例的完整 class 名称,但我如何才能获得它的所有超级classes 的 fullyQualifiedNames?可能吗?
使用std.traits.BaseClassesTuple.
import std.traits, std.stdio, std.meta;
class A {}
class B: A{}
class C: B{}
void main(){
auto instance = new C;
static foreach(T; AliasSeq!(typeof(instance), BaseClassesTuple!(typeof(instance))))
writeln(fullyQualifiedName!T);
}
我可以获得具有 fullyQualifiedName 的实例的完整 class 名称,但我如何才能获得它的所有超级classes 的 fullyQualifiedNames?可能吗?
使用std.traits.BaseClassesTuple.
import std.traits, std.stdio, std.meta;
class A {}
class B: A{}
class C: B{}
void main(){
auto instance = new C;
static foreach(T; AliasSeq!(typeof(instance), BaseClassesTuple!(typeof(instance))))
writeln(fullyQualifiedName!T);
}