Get the class name without casting the type
Hipreme
msnmancini at hotmail.com
Tue Nov 15 12:25:22 UTC 2022
On Tuesday, 15 November 2022 at 11:42:59 UTC, Alexander Zhirov
wrote:
> 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!
> ```
You can do it as `val.classinfo.name`
More information about the Digitalmars-d-learn
mailing list