我們正在將應用程序從C#移植到VB以滿足我們項目的需求,但偶然發現了VB中的事件處理問題。Silverlight VB AddHandler動態對象
該應用程序使用COM Wrapper訪問Silverlight中的掃描器。該對象是在代碼中動態創建的,並且事件添加到「AcquirePage」。這當然需要提升信任。
代碼在C#:
dynamic TwainSession;
(...)
TwainSession.AcquirePage += new AcquirePageDelegate(AcquirePageEventHandler);
由於在VB 動態唯一真正的 「等價物」 對象,我們使用:
Private TwainSession As Object
一切都很好,直到點我們想要處理這個對象的事件。因爲我們在Silverlight中,所以我們無法瞭解對象的結構或事件,因此需要動態創建它。在C#中,我們簡單地用 「+ =」 的處理程序添加到一個事件,而是:
AddHandler TwainSession.AcquirePage, AddressOf AcquirePageEventHandler
在VB中得到:'AcquirePage' 不是 '對象'
任何方式的事件在那附近?
有趣的問題,但它需要澄清,你可以擴大一點,並填寫背景,讓有人可以複製問題嗎? – 2011-12-16 14:05:23