Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
March 09, 2009 Displaying type of something | ||||
---|---|---|---|---|
| ||||
When creating templates, it is sometimes handy to print the type of something. Is there a trivial way to print it? writeln("Typeof T is: ", typeof(t)); This doesn't work, but you get the idea. |
March 09, 2009 Re: Displaying type of something | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | Georg Wrede wrote:
> When creating templates, it is sometimes handy to print the type of something. Is there a trivial way to print it?
>
> writeln("Typeof T is: ", typeof(t));
>
> This doesn't work, but you get the idea.
typeof(t).stringof
-Lars
|
March 09, 2009 Re: Displaying type of something | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | Georg Wrede:
> When creating templates, it is sometimes handy to print the type of something. Is there a trivial way to print it?
writeln("Typeof T is: ", typeid(typeof(t)));
(Try alternatives of that with a dynamic type, like a class).
Bye,
bearophile
|
March 09, 2009 Re: Displaying type of something | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | bearophile wrote:
> Georg Wrede:
>> When creating templates, it is sometimes handy to print the type of something. Is there a trivial way to print it?
>
> writeln("Typeof T is: ", typeid(typeof(t)));
>
> (Try alternatives of that with a dynamic type, like a class).
Thanks!!!
class A { }
class B : A { }
class C : B { }
A a;
B b;
C c;
A ac = new C;
Typeof ac is: A
So it's the variable, not its current contents. Kinda makes sense.
|
March 09, 2009 Re: Displaying type of something | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | Georg Wrede wrote:
> When creating templates, it is sometimes handy to print the type of something. Is there a trivial way to print it?
>
> writeln("Typeof T is: ", typeof(t));
>
> This doesn't work, but you get the idea.
For a class or interface:
writeln("Typeof T is: ", t.classinfo.name);
|
March 10, 2009 Re: Displaying type of something | ||||
---|---|---|---|---|
| ||||
Posted in reply to Christopher Wright | Christopher Wright wrote:
> Georg Wrede wrote:
>> When creating templates, it is sometimes handy to print the type of something. Is there a trivial way to print it?
>>
>> writeln("Typeof T is: ", typeof(t));
>>
>> This doesn't work, but you get the idea.
>
> For a class or interface:
> writeln("Typeof T is: ", t.classinfo.name);
A a;
B b;
C c;
A ac = new C;
writeln("Typeof T is: ", ac.classinfo.name);
and the result is:
Typeof T is: C
so it really works!!!
Thaks, guys!!
|
Copyright © 1999-2021 by the D Language Foundation