类的静态构建函数(C#翻译成 vb.net)

seeQe 2014-07-27 10:36:44
C# 原文:
public class WeiXinPlat: IHttpHandler
{
//静态构造函数(这个构造函数是属于类的,而不属于任何一个实例,所以这个构造函数只会被执行一次,而且是在创建此类的第一个实例或引用任何静态成员之前,由.NET自动调用)
static WeiXinPlat()
{
//消息通知事件
WeiXin.OnReceivePlatMsgEvent += new WeiXin.ReceivePlatMsg(WeiXin_OnReceiveMsgEvent);
}
}
vb.net 翻译如下:
Public Class WeiXinPlat
Implements IHttpHandler

Shared Sub WeiXinPlat()
WeiXin.OnReceivePlatMsgEvent += New WeiXin.ReceivePlatMsg(AddressOf WeiXin_OnReceiveMsgEvent)
End sub
End class

问题: 1
vb.net 的静态构造函数 使用shared sub 可以吗? 编译器没有报错.
问题: 2
OnReceivePlatMsgEvent 部分编译器提示错误:
"Public Shared Event OnReceivePlatMsgEvent(platcode As String)” 是事件,不能直接调用。请使用“RaiseEvent”语句引发事件。

请帮忙校正, thanks.
...全文
286 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
AddHandler
  • 打赏
  • 举报
回复
注册事件处理方法,应使用 AddHadnler。
iyomumx 2014-07-27
  • 打赏
  • 举报
回复
静态构造函数:
Shared Sub New()

End Sub
注册事件用AddHandler:
AddHandler WeiXin.OnReceivePlatMsgEvent, AddressOf WeiXin_OnReceiveMsgEvent
不需要自行构建委托对象,编译器会帮你完成
prosoft123 2014-07-27
  • 打赏
  • 举报
回复
构造函数语法是这样的,构造函数不能加过程名,应该省略。 另外m构造函数括号里可以设置参数。 Sub New() ‘这里添加代码,会自动运行一次。 End Sub 您的代码不完整我只能帮到这儿。
  • 打赏
  • 举报
回复
如果你在 vb.net 里写 +=,编译器不会认识你要注册事件处理方法,它只会当作普通的加法操作。
  • 打赏
  • 举报
回复
vb.net 没有 WeiXin.OnReceivePlatMsgEvent += 这种写法。那是c#的语法。
prosoft123 2014-07-27
  • 打赏
  • 举报
回复
还有类名WeiXinPlat与过程名WeiXinPlat怎么同一个呢,类应该替换别的名称。
prosoft123 2014-07-27
  • 打赏
  • 举报
回复
Public Class WeiXinPlat Implements IHttpHandler Public Sub WeiXinPlat() Implements IHttpHandler.WeiXinPlat() WeiXin.ReceivePlatMsg += New AddHandler WeiXin.OnReceivePlatMsgEvent ,AddressOf WeiXin_OnReceiveMsgEvent End Sub End Class 您的代码不完整,您应该完整的贴出来。 正确用法是上面的。 接口不允许使用共享Shared修饰符。
seeQe 2014-07-27
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
注册事件处理方法,应使用 AddHadnler。
能否具体给个方式, 还不够理解, 下面是C#原文定义 //接收到多平台消息时的委托 public delegate void ReceivePlatMsg(string platcode,string msgXmlStr, Dictionary<string, string> msgDict); //定义一个多平台委托类型的事件,当接收到消息时抛出此事件 public static event ReceivePlatMsg OnReceivePlatMsgEvent;

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧