Dlang:如何在模板函数上强制执行接口

Dlang:如何在模板函数上强制执行接口,d,D,我已经在谷歌上搜索了两个小时,没有找到这个 如果我有一个模板函数,并且我想在模板类型上强制执行一个接口,那么我该怎么做 前。 可以使用模板约束执行此操作: void doStuff(T)(bool param) if(is(T : Throwable)) { } is表达式可能非常复杂,因此我建议通读。另一种方法,而不是像米奇的答案那样使用is关键字 void doStuff(T : Throwable)(bool param) { } 请看:我们开始了。这比我想象的要优雅一点。实际上有一

我已经在谷歌上搜索了两个小时,没有找到这个

如果我有一个模板函数,并且我想在模板类型上强制执行一个接口,那么我该怎么做

前。


可以使用模板约束执行此操作:

void doStuff(T)(bool param) if(is(T : Throwable)) { }

is
表达式可能非常复杂,因此我建议通读。

另一种方法,而不是像米奇的答案那样使用
is
关键字

void doStuff(T : Throwable)(bool param) { }

请看:

我们开始了。这比我想象的要优雅一点。实际上有一种更漂亮的方法,而不是
is
关键字<代码>无效doStuff(T:Throwable)(bool参数){}
void doStuff(T : Throwable)(bool param) { }