我有这两个功能,它们非常相似:
Public beforeValueChange As Int
Private Sub Staus_BeforeChange(Cancel As Integer)
beforeValueChange = Me.[Status]
End Sub
Private Sub Status_AfterUpdate()
If Not IsNull(Me.[DateCompleted]) Then
Me.[Status] = beforeValueChange
End If
End Sub
如何将这两个功能转换为一个功能?
答案 0 :(得分:1)
在这种情况下,您将动态设置属性,
setTimes(pricerules: PriceRule[], _times: string) {
this[`${_times}s`] = [];
pricerules.forEach(pricerule => {
this[`${_times}s`].push({
hour: Number(pricerule[_times].split(':')[0]),
minute: Number(pricerule[_times].split(':')[1])
});
});
}
答案 1 :(得分:1)
您可以重构将数组从pricerules
投影到函数中的代码,并设置属性并使用bracket notation
访问对象属性。
setEndTimes(pricerules: PriceRule[]) {
this.endTimes = returnTimes(pricerules, 'endTime');
}
setStartTimes(pricerules: PriceRule[]) {
this.startTimes = returnTimes(pricerules, 'startTime');
}
returnTimes(pricerules, time) {
return pricerules.map(x => (
{
hour: Number(x[time].split(':')[0]),
minute: Number(x[time].split(':')[1])
}));
}