我经常写这样的 ac# 代码:
void func(object myObject)
{
if (myObject == null)
{
throw new ArgumentNullException("myObject");
}
...
如何在 Visual Studio 2012 中为该类型的代码编写一个自动完成功能,这样我就不必一直输入这个?
我经常写这样的 ac# 代码:
void func(object myObject)
{
if (myObject == null)
{
throw new ArgumentNullException("myObject");
}
...
如何在 Visual Studio 2012 中为该类型的代码编写一个自动完成功能,这样我就不必一直输入这个?
由于没有兴趣,我将通过发布我自己的解决方案来结束这个问题。将以下文件放入C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC#\Snippets\1033\Visual C#\ifn.snippet
将起到作用:
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>ifn</Title>
<Shortcut>ifn</Shortcut>
<Description>Code snippet for if (arg==null)</Description>
<Author>sam green</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>argument</ID>
<Default>arg</Default>
<ToolTip>Argument</ToolTip>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[if ($argument$ == null)
{
throw new ArgumentException("$argument$");
}$end$]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
我使用自动生成并猜测我想要的参数的关键字“argnull”为此定义了一个 ReSharper 快捷方式。我认为它与您的解决方案的效果大致相同,尽管您不需要处理 XML 或放置文件的位置。
这是 ReSharper VB.NET 方法的示例:
if $VAR$ is nothing then
throw new ArgumentNullException("$VAR$")
end if
为了改进@galet的答案,这是我的:
if() throw;
语句。ArgumentNullException
的而不是ArgumentException
.nameof()
避免使用魔法字符串(因此可以与 Refactor-Renames 完美配合)。is null
运算符:<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>ifn</Title>
<Shortcut>ifn</Shortcut>
<Description>Code snippet for if (arg==null)</Description>
<Author>https://stackoverflow.com/questions/18905475</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>argument</ID>
<Default>arg</Default>
<ToolTip>Argument</ToolTip>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[if( $argument$ is null ) throw new ArgumentNullException( nameof($argument$) );$end$]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>