Class 如何获取类的构造函数方法?

Class 如何获取类的构造函数方法?,class,constructor,metaprogramming,d,Class,Constructor,Metaprogramming,D,我有一个类a,它将另一个类B作为模板参数,我需要获取B的构造函数,以便执行以下操作(有些伪代码): 存储构造函数的参数,然后使用存储在\u args中的参数构造类B的对象 这几乎就是命令模式 是否有方法获取B的构造函数以获取其参数? 或者有更好的方法来实现延迟对象构造吗?是的,构造函数的内部名称是\u ctor: class C { this(int a, string b) { } } import std.traits; pragma(msg, Parameters!(C.__c

我有一个类
a
,它将另一个类
B
作为模板参数,我需要获取
B
的构造函数,以便执行以下操作(有些伪代码):

存储构造函数的参数,然后使用存储在
\u args
中的参数构造类
B
的对象

这几乎就是命令模式

是否有方法获取
B
的构造函数以获取其
参数

或者有更好的方法来实现延迟对象构造吗?

是的,构造函数的内部名称是
\u ctor

class C
{
    this(int a, string b) { }
}

import std.traits;

pragma(msg, Parameters!(C.__ctor));
这将产生:

(int, string)

尝试B.。\uu-ctor引用它…..谢谢,我意识到我传递给
a
的类中没有包含构造函数,这使得
B.\uu-ctor
在这种情况下不存在。请注意,如果有多个构造函数,可以使用
\uu-traits(getOverloads,C,“\uu-ctor”)
<代码>MemberFunctionsTuple!(C,“\uu ctor”),无论出于何种原因,都会返回一个空列表。不确定这是否是故意的。
(int, string)