gpt4 book ai didi

visual-studio - Visual Studio项目/项目模板参数逻辑

转载 作者:行者123 更新时间:2023-12-03 10:05:31 25 4
gpt4 key购买 nike

由于我只看到了关于该主题的几篇文章,却没有对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 $语句$ endif $ $ endif $

希望这对某人有帮助。

最佳答案

对于逻辑andorand是:&&or是:||
因此,其中包含and的if语句如下所示:

if ((a != null)&&(a !=""))
{
Console.Write(a);
}

而其中包含 or的if语句将如下所示:

if ((b != null)||(b >= 5))
{
Console.Write(b);
}

对于模板,您可以将* .cs文件导出为模板。它在“项目”>“导出模板”下。

(我正在使用VisualStudios 2017)

希望这会有所帮助。

关于visual-studio - Visual Studio项目/项目模板参数逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6709057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com