添加事件的简单代码片段






4.98/5 (33投票s)
向类中添加事件很简单,但需要输入一些内容。我比较懒,所以希望 Visual Studio 来完成这项工作。这个代码片段的工作方式与“prop”片段相同。
引言
向类中添加事件非常简单:创建你的事件。
public event EventHandler FilterChange;
然后,创建一个合适的方法来向订阅者发出信号。
protected virtual void OnFilterChange(EventArgs e)
{
EventHandler eh = FilterChange;
if (eh != null)
{
eh(this, e);
}
}
但是我很懒。我不想每次都输入这么多内容!所以,这里有一个简单的 Visual Studio 代码片段,可以帮你输入所有这些内容——就像“prop”为你提供的那样。
public int MyProperty { get; set; }
Using the Code
Visual Studio 中的代码片段只是一个 XML 文件,包含一些特定的数据字段。
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Event Template</Title>
<Author>Paul (OriginalGriff) Griffin</Author>
<Description>Creates an Event template - includes the Event and the OnEvent method</Description>
<HelpUrl></HelpUrl>
<SnippetTypes />
<Keywords />
<Shortcut>evh</Shortcut>
</Header>
<Snippet>
<References />
<Imports />
<Declarations>
<Literal Editable="true">
<ID>Description</ID>
<Type></Type>
<ToolTip></ToolTip>
<Default>Description</Default>
<Function></Function>
</Literal>
<Literal Editable="true">
<ID>Name</ID>
<Type></Type>
<ToolTip></ToolTip>
<Default>Name</Default>
<Function></Function>
</Literal>
</Declarations>
<Code Language="csharp" Kind="method decl" Delimiter="$"><![CDATA[/// <summary>
/// Event to indicate $Description$
/// </summary>
public event EventHandler $Name$;
/// <summary>
/// Called to signal to subscribers that $Description$
/// </summary>
/// <param name="e"></param>
protected virtual void On$Name$(EventArgs e)
{
EventHandler eh = $Name$;
if (eh != null)
{
eh(this, e);
}
}]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
你可以使用 Visual Studio 从“文件...新建...文件”中选择 XML 文件来创建它,但保存后,你需要手动将文件名从“.XML”重命名为“.snippet”,或者你可以从链接下载它。你需要将它放在 Visual Studio 的代码片段文件夹中,默认情况下是
C:\Users\<UserName>\Documents\Visual Studio 2010\Code Snippets\Visual C#
对于 VS2019,文件夹略有不同
C:\Users\<UserName>\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets
如果你有一个“我的代码片段”文件夹,那么它应该放在那里。
最简单的方法是通过 Windows 文件资源管理器。
%USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets
现在,每当你输入快捷键“evh
”并按两次 TAB 键时,它就会插入
/// <summary>
/// Event to indicate Description
/// </summary>
public event EventHandler Name;
/// <summary>
/// Called to signal to subscribers that Description
/// </summary>
/// <param name="e"></param>
protected virtual void OnName(EventArgs e)
{
EventHandler eh = Name;
if (eh != null)
{
eh(this, e);
}
}
并提示你输入事件的描述和名称。
历史
- 第一版
- 2019-06-15 添加了 Visual Studio 2019。