一道非谓语动词的题!

问题描述:

一道非谓语动词的题!
______,so l had to wait for my wife back.
A.Because my key was lostB.My key was lostC.Losing my keyD.Having lost my key
答案是B哟为何D不行呢 独立主格么?还是因为有了so就选B呀 求大神解释解释解释~~

B
so是连词,连接前后两个句子,A,B为句子
because和so不能连用,所以选B