有没有办法,给定一个函数变量,将函数的名称作为字符串?例如,如果我有:
void function(int) func;
Run Code Online (Sandbox Code Playgroud)
是否有一些函数x(),我可以得到:
x(func) == "func";
Run Code Online (Sandbox Code Playgroud)
?我觉得这可能是使用mixins,但我很困惑如何实现这一点.
func.stringof
Run Code Online (Sandbox Code Playgroud)
是你需要的.
你也可以制作一个模板:
template Name(alias Func) { enum Name = Func.stringof; }
void func() { }
pragma(msg, Name!(func)); //prints func()
Run Code Online (Sandbox Code Playgroud)