Get the class name without casting the type

Alexander Zhirov azhirov1991 at gmail.com
Tue Nov 15 11:42:59 UTC 2022


Is there any way to get the name of class B?

```d
interface A {
     string text();
}

class B : A {
     override string text() {
         return ": It's ok!";
     }
}

void main() {
     A[] a = cast(A[]) new B[3];
     B b = new B();
     fill(a, b);
     foreach (val ; a) {
         writeln(typeof(val).stringof, val.text());
     }
}
```

Output:

```sh
A: It's ok!
A: It's ok!
A: It's ok!
```


More information about the Digitalmars-d-learn mailing list