答案:C
翻译:过了几年后我才意识到大卫对我撒了谎.
1.lie表示“撒谎”时,是不及物动词,其后不可能加宾语what,由此排除A;
2.如果选B,则为强调句型.
强调句型的语法特征为:去掉it was和that后,剩下必须是一个完整的句子.
变成:I realized when David had lied to me several years.
很明显,several years不能单独做此句的时间状语.
排除B;
3.如果选D,则要求realize必须能够延续several years,但是realize“意识到”明显不能延续,而只是一个终止性动词.
4.C是一个固定句式,即:
It was + 一段时间 + before引导的时间状语从句.
意思是“过了多久...才...”.
为正解.