选B .
Having been asked to arrive in Shanghai in one day ,I had to take a plane
有一天,被要求抵达上海,我不得不乘飞机.
in one day ,说明动作已经完成了,被要求抵达上海后才乘坐的飞机,
所以用Having been asked.
1.done是过去分词,having been done是现在分词完成时的被动语态.两个都可以表示“完成
+被动.”但在非谓语中,一般我们根据就简的原则,使用过去分词.
2.having been done 做状语表示该动作发生在主句动作之前;
而done则不强调这层含义;
举个例:
Having been killed,she couldn't stop her blood from going chilled.
Killed,she couldn't stop her blood from going chilled.
前边一句稍微强调“再她的血变冷之前她被杀了”
而后者没有强调动作先后的含义.
(需要说明一下done指的是普遍意义的过去分词而不是单纯的done)