C# VisualStudio创建属性而不是方法事件处理程序。为什么?
我刚刚让VS为我生成了一个事件处理程序,它创建了一个属性而不是一个方法。我不明白。我刚刚在VS 2012中尝试了一个单独的测试,结果正如预期的那样 首先,这是我的测试,正如我所想: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
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;