加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 你能把它转换成VB吗?

发布时间:2020-12-16 01:37:30 所属栏目:百科 来源:网络整理
导读:static RelatedPosts(){ Post.Saved += new EventHandlerSavedEventArgs(Post_Saved);}static void Post_Saved(object sender,SavedEventArgs e){ if (e.Action == SaveAction.Update) { Post post = (Post)sender; if (_Cache.ContainsKey(post.Id)) _Cache
static RelatedPosts()
{
 Post.Saved += new EventHandler<SavedEventArgs>(Post_Saved);
}

static void Post_Saved(object sender,SavedEventArgs e)
{
 if (e.Action == SaveAction.Update)
 {
  Post post = (Post)sender;
  if (_Cache.ContainsKey(post.Id))
   _Cache.Remove(post.Id);
 }
}

我转换为:

Shared Sub New()
    Post.Saved += New EventHandler(Of SavedEventArgs)(AddressOf Post_Saved)
End Sub


Private Shared Sub Post_Saved(ByVal sender As Object,ByVal e As SavedEventArgs)
    If e.Action = SaveAction.Update Then
        Dim post As Post = DirectCast(sender,Post)
        If _Cache.ContainsKey(post.Id) Then
            _Cache.Remove(post.Id)
        End If
    End If
End Sub

但它给了我一个错误:

公共共享事件Saved()是一个事件,不能直接调用.使用’RaiseEvent’语句来引发事件.

解决方法

用这个

AddHandler Post.Saved,AddressOf Post_Saved

代替

Post.Saved += New EventHandler(Of SavedEventArgs)(AddressOf Post_Saved)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读