If my brother had been here last Sunday,he ________ me from going.(Unit8-13)为什么用would have prevented不用would prevent?请分析一下句型或语法.

问题描述:

If my brother had been here last Sunday,he ________ me from going.(Unit8-13)
为什么用would have prevented不用would prevent?请分析一下句型或语法.

虚拟语气。
因为条件句“If my brother had been here last Sunday”叙述了一个和过去相反的假设,那么主句的情况也应与过去情况相反。表示与过去情况相反的句型就是:情态动词(could,would,might)+have done sth.

这时对过去事件的非真实条件的虚拟语气,从句用过去完成时,主句用WOULD+HAVE

这是一个虚拟语气的用法
与现在事实相反 动词的过去式(be的过去式一般用were) would/ should/ could/ might + 动词原形
与过去事实相反 had + 过去分词 would/ should/ could/ might + have + 过去分词
与将来事实相反 动词过去式,should + 动词原形,were to + 动词原形 would/ should/

这个句子是if引导的虚拟语气,前面用“过去完成时”的时候,后面从句用would+have+done,这是固定结构!