C# VisualStudio创建属性而不是方法事件处理程序。为什么?

C# VisualStudio创建属性而不是方法事件处理程序。为什么?,c#,visual-studio-2010,visual-studio-2012,C#,Visual Studio 2010,Visual Studio 2012,我刚刚让VS为我生成了一个事件处理程序,它创建了一个属性而不是一个方法。我不明白。我刚刚在VS 2012中尝试了一个单独的测试,结果正如预期的那样 首先,这是我的测试,正如我所想: private static void EventTest() { Geek skeet = new Geek(); skeet.SomeEvent += skeet_SomeEvent; } 当我让VS为我生成处理程序时,它创建了这个 static void skeet_SomeEvent(ob

我刚刚让VS为我生成了一个事件处理程序,它创建了一个属性而不是一个方法。我不明白。我刚刚在VS 2012中尝试了一个单独的测试,结果正如预期的那样

首先,这是我的测试,正如我所想:

private static void EventTest()
{
    Geek skeet = new Geek();

    skeet.SomeEvent += skeet_SomeEvent;
}
当我让VS为我生成处理程序时,它创建了这个

static void skeet_SomeEvent(object sender, EventArgs e)
{
    throw new NotImplementedException();
}
这是有道理的。调用事件时将调用该方法

现在,问题是。。。我正在VS 2010中处理一个现有项目,当我做同样的事情时(让VS生成处理程序):

它创建一个属性:

public EventHandler<PlcLoggerEventArgs> _plcLoggerEventHandler { get; set; }
public EventHandler{get;set;}
为什么??我不明白。我想用一种方法来处理这个事件

编辑-事件处理程序是如何声明的:

public event EventHandler<PlcLoggerEventArgs> PlcLoggerEventHandler;
公共事件事件处理程序plbloggerEventHandler;
如果您按两次Tab键,您会注意到它在事件处理程序中是“正确”生成的

在Visual Studio 2010中使用“选项帮助绑定项目”快捷方式Alt+Shift+F10的情况下,在这种情况下,您可以执行以下两种操作:

  • 在中为“PLBloggerEventHandler”生成属性存根
  • 在中为“PLBloggerEventHandler”生成字段存根

所以,当你使用它的时候,一个属性被创建,这似乎是出于设计,即使在事件处理程序的情况下,它也没有意义。

你能展示一下如何声明plc.plBloggerEventHandler吗?就像你点击Tab两次,它就这样做了?@sixlettervariables是正确的。@DaveShaw我只是把它添加到我的问题中。这里没有对VS2k10的重新说明。您有任何外接程序/扩展吗?
public event EventHandler<PlcLoggerEventArgs> PlcLoggerEventHandler;