You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
场景为:有个类内部需要分别对 ISelect/IUpdate/IDelete 设置同一类型的过滤条件,例如过滤条件类设计为:
当前需要分别为 ISelect/IUpdate/IDelete 各写一个方法:
若 Where/WhereIf 等等放到一个公共父接口例如
ICrud
里,则只需一个方法:为达到以上目的,ISelect/IUpdate/IDelete 可按如下改造,应该不会影响现有应用:
新增父接口,并把 Where/WhereIf 等等放入其中。ISelect/IUpdate/IDelete 本身是泛型接口,需要新增两个父接口:
然后让 ISelect/IUpdate/IDelete 都继承一下新增的接口,并把其中原有的 Where/WhereIf 删掉:
如此就可按上述只定义一个
ApplyFilters
方法了。建议的起因是目前自用的一个通用 CRUD 服务
CRUDServiceBase
,其定义为:https://quickadmin.net/refdraft/html/T_QuickAdmin_Service_CRUDServiceBase_4.htm
需要在继承类重写应用过滤条件的相关方法,如果有了
ICrud
,CRUDServiceBase
就只需设计一个应用过滤条件的方法而不是现在的三个。Beta Was this translation helpful? Give feedback.
All reactions