This page in the MS documentation,覆蓋異步在Windows窗體應用程序,規定:每個BeginInvoke都必須跟一個EndInvoke嗎?
您可以調用EndInvoke如果neccesary從委託檢索的返回值,但這不是必需的。(強調)
This page covering the general case of asynchronous delegates,規定不同的東西:
不管你使用哪種技術,總是調用EndInvoke來完成你的異步調用。
這兩個似乎是直接衝突。
這是真的嗎?有人可以解釋嗎?
另請參閱a post by Phil Haack。
相關:Is EndInvoke optional, sort-of optional, definitely not optional?
我同意你的大部分答案,除了評論他們是「不同的電話」。他們似乎並不是完全不同的電話。他們是不是都在討論異端代表的EndInvoke?只是控制代理上的EndInvoke是一個特例。 – Cheeso 2009-08-13 22:37:06
@Cheeso:否 - Control.BeginInvoke根本不是*委託上的調用*。它*需要*代表。 – 2009-08-13 22:41:40