我们正在将应用程序从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