gpt4 book ai didi

c# - if null surround-with 代码片段怎么写

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:58 26 4
gpt4 key购买 nike

我正在尝试编写一个 vs 代码片段,它将获取所选内容并用 if null 检查将其包围,即

accgrp.CREATEDATE = DateTime.Now;

将变成:

if (accgrp.CREATEDATE == null)
{
accgrp.CREATEDATE = DateTime.Now;
}

我已经了解了以下内容。 $selected$ 似乎只在最后一次使用时起作用,如果多次使用,您希望看到所选代码的其他实例是空白的。我知道下面的代码不会完全符合我的要求,因为我不会得到作业的右侧,但它已经足够好了。

            <Declarations>
<Literal>
<ID>expression</ID>
<ToolTip>Expression to evaluate</ToolTip>
<Default>o</Default>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[if ($selected$ == null)
{
$selected$ = $expression$$end$
}]]>
</Code>

有人能帮忙吗?

最佳答案

这是为您准备的宏,它将为您提供相同的功能。

Sub NullCheck()
Dim selected As String
Dim var As String
Dim res As String
Dim sel As TextSelection


sel = DTE.ActiveDocument.Selection
selected = sel.Text
var = selected.Substring(0, selected.IndexOf("=") - 1).Trim()
res = String.Format("if ({0} == null) {1} ", var, selected)

sel.Delete()
sel.Insert(res, vsInsertFlags.vsInsertFlagsContainNewText)
sel.SmartFormat()

End Sub

另一种方法(阅读您的评论后)可能是使用 PostSharp为了拦截字段/属性 setter 。

关于c# - if null surround-with 代码片段怎么写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/772154/

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