虚拟语气 would have done 有几个含义呢?

If I had realised that she would repeat the story that I had told her confidentially, I should have changed the names of the people who

were involved so that even though the facts become public no one would have known.

章振邦高级英语语法482页。

如果当时我料到她会把我私下告诉她的事情和盘托出,我当时就会把有关人等的名字改掉,即使后来事情曝光,也不会有人知道他们的真实身份。

我的困惑:even though the facts become public no one would have known. - 

是否应该改成even though the facts become public no one would know. ? - 这是对将来的虚拟吧!

为什么原文使用了no one would have known. 呢?这是对过去的虚拟吗? 还是这里的would have known也可以其实是will have done 将来完成时的虚拟呢?

我很困惑,麻烦老师详解这里的would have known...谢谢!


请先 登录 后评论

最佳答案 2020-07-24 15:58

我批评过你多次了,读英文不注意句子表达的逻辑,不注意全句,只看局部。

这个句子的开头就用虚拟if从句告诉你一个与过去事实相反的假设: 要是当时我意识到她会把事情和盘托出...,这清楚告诉你实际我没有意识到这一点,实际上她已经把事情和盘托出了,有关人员的姓名也被人知道了。如果你读这句话理解不到这一点,你就应该好好反省自己的阅读能力了。正因为现在大家知道了有关人的真实姓名,我才懊悔当初没有把人名改一下。所以,最后的no one would have known 没人会知道人名是与过去事实相反的,而不是与将来事实相反。

请先 登录 后评论

其它 1 个回答

may52014 - 学生

事情曝光已成为过去的事实,所以我觉的这句话应该是:even though the facts had became public no one would have known.即“主从句都虚拟”。

但是根据句意,从句也可以不虚拟而只有主句虚拟,所以从句用了become,而主句用了would have done,表达的意思是“即便现在事情曝光,过去也不会有人知道”。

个人看法,仅供参考,如果有错误,还希望能批评指正。

请先 登录 后评论
  • 0 关注
  • 2 收藏,3652 浏览
  • Long2019 提出于 2020-06-26 19:12

相似问题