On Sat, Feb 06, 2021 at 02:01:28AM +0000, Jack via Digitalmars-d-learn wrote:
> in C/C++ you have void* and C#'s object, to create a variable to hold
> a genetic type. So in C# you can do:
> 
> class A {
>   object foo;
> }
> 
> and
> 
> var a = new A();
> a.foo = any class...;
> 
> does D have something like this or template parameters are used
> instead of?

D has void*.

But if you have a class, it's probably better to use the universal base
class Object, which is more type-safe.

Alternatively, check out std.variant, which provides true dynamic
typing as a tagged union.


T

-- 
"You know, maybe we don't *need* enemies." "Yeah, best friends are about all I 
can take." -- Calvin & Hobbes

Reply via email to