单项选择题

He_______here for 20 years by the end of next month.

A.hadworked
B.hasworked
C.willhaveworked
D.willwork