Csharp/C#教程:VB等效的C#事件创建分享


VB等效的C#事件创建

我正在尝试将GridView类扩展为始终显示页眉和页脚,即使数据源为空时也使用我在网上找到的代码( 链接 )。 但是,代码是用C#编写的,但我使用的是VB。

什么是以下的VB等价物?

public event MustAddARowHandler MustAddARow; 

有没有办法绕过VB.NET不允许事件返回一个类型?

此外,由于下面的错误,我无法转换以下function。

码:

 Protected Function OnMustAddARow(ByVal data As IEnumerable) As IEnumerable If MustAddARow = Nothing Then 'Error on MustAddARow' Throw New NullReferenceException("The datasource has no rows. You " _ & "must handle the 'MustAddARow' Event.") End If Return MustAddARow(data) 'Error on MustAddARow' End Function 

错误:公共事件MustAddARow(data As System.Collections.IEnumerable)’是一个事件,不能直接调用。 使用’RaiseEvent’语句来引发事件。

像这样:

 Public Event MustAddRow(data As IEnumerable) 

注意:这个答案实际上是错误的。 我的错。 显示的语法是正确的(这就是为什么我不会立即删除此答案),但它不会编译,因为事件 – 通常是多播代理 – 不允许在VB中返回值。净。


活动宣言:

 Public Event MustAddRow As MustAddRowHandler 

委托类型声明:(这是上述的先决条件)

 Public Delegate Function MustAddRowHandler(ByVal data As IEnumerable) As IEnumerable 

正如我在其他post( 链接 )的答案中所描述的,我将C#代码编译成我在VB代码中使用的DLL。

上述就是C#学习教程:VB等效的C#事件创建分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/957053.html

(0)
上一篇 2021年11月21日
下一篇 2021年11月21日

精彩推荐