由于我只看了几篇关于这个主题的帖子,但没有深入解释Visual Studio模板中参数的逻辑,我想我会在这里发布。
在MSDN article之后,您可以向模板添加自定义参数,如果您想要更改这些参数,可以使用Wizard进行更改。
在模板的任何文件中(模板文件本身除外),您可以根据参数添加逻辑。逻辑只使用三个关键字。 $ if $(%expression%),$ else $和$ endif $。所以说我在模板文件中有以下内容:
public string foo( string a )
{
return string.Format( @"foo( {0} );", a );
}
我们想要添加一些逻辑,以确定我们是否要检查“a”是空还是空
public string foo( string a )
{
$if$ ( $shouldCheckForNullOrEmpty$ == true )
if ( !string.IsNullOrEmpty( a ) )
$endif$
return string.Format( @"foo( {0} );", a );
}
当然,您可能希望为if语句添加大括号,因此您可能需要多个逻辑块。
所以这不是太糟糕,但这有一些技巧。 $ if $检查字符串匹配,即shouldCheckForNullOrEmpty必须等于“true”。它也被写成$ if $($ shouldCheckForNullOrEmpty $ ==“true”),但那不起作用。
使用单个表达式的单个if语句非常简单,现在对于更复杂的示例:
public string foo( string a )
{
$if$ ( $parameterCheckMode$ == ifNullOrEmpty )
if ( !string.IsNullOrEmpty( a ) )
$else$ $if$ ( $parameterCheckMode$ == throwIfNullOrEmpty )
if ( string.IsNullOrEmpty( a ) )
throw new ArgumentException();
$endif$ $endif$
return string.Format( @"foo( {0} );", a );
}
正如您可能知道的那样,这是参数模式的switch语句。您可能会注意到没有$ elseif $所以你必须使$ else $ $ if $但是必须在最后添加额外的$ endif $。
最后,我还没有找到逻辑的和或或符号。我只是使用逻辑等价来解决这个问题:
和 - > $ if $(expression1)$ if $(expression2)$ endif $ endif $
或 - > $ if $(expression1)语句$ else $ $ if $ statement $ endif $ $ endif $
希望这有助于某人。
答案 0 :(得分:0)
对于逻辑'和'和'或'
'和'是:
&安培;&安培;
和'或'是:
||
所以带有'和'的if语句看起来像这样:
if ((a != null)&&(a !=""))
{
Console.Write(a);
}
带有'或'的if语句看起来像这样:
if ((b != null)||(b >= 5))
{
Console.Write(b);
}
对于模板,您可以将* .cs文件导出为模板。它位于Project> Export Template ...
下(我使用的是VisualStudios 2017)
希望这会有所帮助。