TypeInfo for highest type in hierarhy (class) when passed base type
Voitech via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Mar 16 01:03:09 PDT 2016
How to handle this situation:
module typeTest;
class A{
void a(){}
}
class B:A{
int b(){
return 1;
}
}
class C:B,D{
string c(){
return "";
}
override int d() {
return 0;
}
}
interface D{
int d();
}
TypeInfo __typeInfo(T)(T t){
return typeid(T);
}
unittest{
A a= new A;
A b= new B;
A c = new C;
TypeInfo aInfo=__typeInfo(a);
TypeInfo bInfo=__typeInfo(b);
TypeInfo cInfo=__typeInfo(c);
assert(aInfo!=bInfo); //fails
assert(aInfo!=cInfo);//fails
assert(bInfo!=cInfo);//fails
}
More information about the Digitalmars-d-learn
mailing list