gpt4 book ai didi

.net - 如何在 select case 语句中实现 Enum

转载 作者:行者123 更新时间:2023-12-02 16:44:48 25 4
gpt4 key购买 nike

我有一个包含许多项目的枚举,我想像在 c#.net 中一样在 VB.NET 的 select case 语句中实现它们。

就像在 C#.net 中一样,我们只需输入 switch,然后按 Tab 键,然后输入 枚举变量名称,然后按 enter strong> 在 case 语句中自动键入所有枚举项。我正在 VB.net 中寻找相同的方法,因此我不需要手动输入所有案例。

在vb.net中可以吗?

最佳答案

不幸的是,没有办法内置执行此操作。查看 switch 的 C# 代码片段,您可以看到它执行内置函数来获取 case 语句:

<Literal Editable="false">
<ID>cases</ID>
<Function>GenerateSwitchCases($expression$)</Function>
<Default>default:</Default>
</Literal>

但是,VB 代码片段仅定义了几个 Case Literals:

<Literal>
<ID>Case1</ID>
<Type></Type>
<ToolTip>Replace with a valid value of the expression.</ToolTip>
<Default>1</Default>
</Literal>
<Literal>
<ID>Case2</ID>
<Type></Type>
<ToolTip>Replace with another valid value of the expression.</ToolTip>
<Default>2</Default>
</Literal>

不幸的是,您无法定义在代码段内使用的自定义函数,因此您只能使用默认函数,并且GenerateSwitchCases 似乎无法在VB 中工作。这意味着您甚至无法定义自己的 Select Case 代码段来执行相同的值。

我尝试使用以下内容,但它似乎不想执行评估。无论如何,我怀疑我们最终会在每个 case 的末尾得到 : (这是 C# 表示法)。

<?xml version="1.0" encoding="UTF-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Select Case Statement</Title>
<Author>Microsoft Corporation</Author>
<Description>Inserts a Select Case statement.</Description>
<Shortcut>NewSelect</Shortcut>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Imports>
</Imports>
<Declarations>
<Literal>
<ID>expression</ID>
<ToolTip>Expression to switch on</ToolTip>
<Default>switch_on</Default>
</Literal>
<Literal Editable="false">
<ID>cases</ID>
<Function>GenerateSwitchCases($expression$)</Function>
<Default>Case Else</Default>
</Literal>
</Declarations>
<Code Language="VB" Kind="method body"><![CDATA[Select Case $expression$
$Cases$

End Select]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>

查看MSDN ,您可以看到只有几个 Snippet 函数,而且它们都是 C# 专用的。

关于.net - 如何在 select case 语句中实现 Enum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20677491/

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