如何在 VSCode 中添加事件侦听器?

时间:2021-01-09 04:56:10

标签: c# visual-studio-code event-listener

我正在尝试使用 VSCode 订阅事件(添加事件侦听器)。在 Visual Studio 中,我会执行以下操作来订阅...

//Subscribe to sql events
myClassObj.MySQLEvents += MyModule_MySQLEvents;

取消订阅我会用...

//Unsubscribe from sql events
myClassObj.MySQLEvents -= MyModule_MySQLEvents;

通常,在输入 myClassObj.MySQLEvents += 后,VS 会开始自动添加事件处理程序方法的模板,帮助您命名等。但是,使用 VSCode,我输入相同的内容并且它什么也不做(就 IntelliSense/自动完成去)。有没有办法在 VSCode 中做不同的事情?

此外,当我尝试手动添加事件侦听器,然后尝试添加以下回调方法以使事件触发时,我收到错误消息。

private void MyModule_MySQLEvents(object sender, EventArgs e) {}

我得到的错误是 csharp(CS0120)...

<块引用>

非静态字段、方法或方法需要对象引用 属性 'Program.MyModule_MySQLEvents(object, EventArgs)' [我的申请]

注意:不确定它是否重要,但我是第一次在控制台应用程序中尝试此操作(在 Main() 方法内)。通常,当它在 VS 中对我有用时,我会在 Form 构造函数方法中执行此操作。

2 个答案:

答案 0 :(得分:0)

所以我认为 Intellisense 不会像 Visual Studio 那样自动创建新的事件处理程序。我最终不得不自己创建它,而我得到的错误是因为控制台应用程序使用了静态构造函数。

我最终需要像这样将 static 关键字添加到我的回调方法中...

private static void MyModule_MySQLEvents(object sender, EventArgs e) {}

这按预期工作,没有问题。

答案 1 :(得分:0)

您可以只输入一个新的函数名称,然后使用“显示修复”(灯泡)来生成该函数,或者按 Ctrl+< /kbd>