首先必须了解tohavedone和havingdone的结构;前者是不定式的完成时,后者是动名词或现在分词的完成时;然后根据需来选择该用哪种形式.例如:
1、Havingfinishedhishomework,theboywasallowedtowatchTVforawhile.(Havingfinished是现在分词短语,作原因状语,这里不可用不定式形式)
2、TheteacherwasangryatMary'shavingmadethesamemistake.(作介词宾语时,需要用动名词形式)
3、Iamsogladtohavetalkedtoyou.(behappy/glad/sorry.要求接不定式形式)
如仍有疑问,欢迎追问!