关于done和having been done在非谓语中的区别

问题描述:

关于done和having been done在非谓语中的区别
不是说“done是过去分词,having been done是现在分词完成时的被动语态.两个都可以表示“完成 +被动.”但在非谓语中,一般根据就简的原则,使用过去分词”吗,可看这道题:
_____ many times,he finally understood it.(四川 2009)
A.Told B.Telling C.Having told D.Having been told
为什么啊
可谁能给我解释一下这个所谓的最简原则啊?

因为having been done 这种结构,主要是动作发生在谓语动作之前,它和谓语动词之间有明显的时间先后关系,它强调时间的先后关系,而且这个非谓语动词的动作到现在为止基本就结束了.而done它也是表被动完成,也是发生在谓语动词之后,但是它却不强调时间的先后,而且非谓语词done通常强调的一种可持续的状态.如frightened by a snake,he dare not step the grass alone any more.