单项选择题

By the end of this month, I() here for 20 years.

A. shall have been teaching
B. have taught
C. would have been teaching
D. am going to teach