我一直在谷歌上搜索两个小时没有运气。
如果我有模板功能,并且我想在模板类型上强制实施接口,我该怎么做?
离。
Box.aggregate([
//the whole aggregation here
], function(err, result) {
});
答案 0 :(得分:6)
您可以使用模板约束来执行此操作:
lStoredProc := tFDStoredProc.Create (Application);
with lStoredProc do begin
Connection := dmSysData.SysData_Connection;
StoredProcName := DoubleQuotedStr ('ButtonGroupName_proc');
Params.Clear;
Params [0] := tFDParam.Create (Params, ptInput);
Params [0].Name := 'ButtonGroupName';
ParamByName ('ButtonGroupName').Value := 'ButtonGroup_System_Tasks';
Open;
while not Eof do begin
lButtonName := Fields [0].Value;
Next;
end;
void doStuff(T)(bool param) if(is(T : Throwable)) { }
表达式可能非常复杂,因此我建议您仔细阅读this。
答案 1 :(得分:4)
另一种方法,而不是使用is
关键字,如mitch _的答案就是这样。
void doStuff(T : Throwable)(bool param) { }
请参阅:https://dlang.org/spec/template.html#TemplateTypeParameterSpecialization