should have done与should have been done的区别?
来源:百度知道 编辑:UC知道 时间:2024/05/24 06:55:49
来个都是虚拟。should have done是主动,应该做而没做;should have been done是被动,应该被做而没被做。
eg:You should have told me yesterday that you had changed your mind. 你昨天应该告诉我你改变主意了。(实际上没有告诉)
Your work should have been done before you went home. 你的工作应该在你回家之前(被)做完。(实际上没被做完)
将来完成时,和将来完成时的被动形式
还含有虚拟语气的意义
I should have finished the homework. 我本该完成作业的。
The homework should have been finished (by me).作业本该被完成的。
Should have done 是主动式语法 (Active voice) 通常是表示你/我/他应该做某事
should have been done 是被动式语法 (Passive voice) 表示某件事应该做的
shoud have done 是主动语态
should have been done 是被动语态
主动和被动的区别,其实都是虚拟语气。。。。