如何在VB.NET中添加事件处理器?此代码是AjaxControlToolkitSampleSite的一部分。准确地说,它在AsyncFileUpload控件中:AsyncFileUpload1.UploadedComplete+=newEventHandler(AsyncFileUpload1_UploadedComplete);如何将其转换为VB.NET?干得好:AddHandlerAsyncFileUpload1.UploadedComplete,AddressOfAsyncFileUpload1_UploadedComplete或者,在代码中,您可以从左侧下拉列表(代码上方)中选择AsyncFileUpload1控件,然后从右侧下拉列表中选择UploadComplete事件。这将使用VBHandles声明自动创建具有正确签名的事件处理程序。其他人已经展示了如何在VB中将event+=字面翻译为AddHandler。然而,尽管有相似之处,但VB和C#是不同的语言,好的C#代码按字面翻译不一定是好的VB代码。例如,在VB中,将固定事件处理程序附加到ASP.NET控件的规范方法是使用Handles关键字:代码在这里EndSub如果您可以将该代码放入已编译的C#项目中,则可以使用SharpDevelop将该项目转换为VB.NET。这可能是在C#和VB.NET之间进行转换的最佳方式。此外,ILSpy可以将用C#编写的已编译dll转换为VB.NET有两种方法:如果AsyncFileUpload1变量具有WithEvents限定符,则可以在事件处理程序本身上使用Handles关键字来执行以下操作:PrivateSubAsyncFileUpload1_UploadedComplete(ByValsenderAsObject,ByValeAsAsyncFileUploadEventArgs)HandlesAsyncFileUpdate1.UploadedComplete'handlerlogic...EndSub如果没有WithEvents限定符,以下方法有效:AddHandlerAsyncFileUpload1.UploadedComplete,AddressOfAsyncFileUpload1_UploadedComplete要执行以下删除事件处理程序,操作:RemoveHandlerAsyncFileUpload1.UploadedComplete,AddressOfAsyncFileUpload1_UploadedComplete请注意WithEvents/Handles路由,因为这可能导致内存泄漏。它只是语法糖,并在幕后连接了AddHandler。我添加这个是因为在学习VB之前我已经被它烧毁了(我有C#背景)。以上就是C#学习教程:如何在VB.NET中添加事件处理器?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
