我有一个包含许多项目的枚举,我想在VB.NET的select case语句中实现,就像我们在c#.net中一样. 就像在C#.net中一样,我们只需输入switch然后点击Tab键并输入enum变量名,然后点击输入键在case语句中
就像在C#.net中一样,我们只需输入switch然后点击Tab键并输入enum变量名,然后点击输入键在case语句中自动枚举的所有enum项.我在VB.net中寻找相同的方式,所以我不需要手动输入所有的情况.
在vb.net中有可能吗?
不幸的是,没有办法内置它.看看C#snippet for switch,你可以看到它执行内置函数来获取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片段.
我尝试过使用下面的内容,但它似乎并不想进行评估.在任何情况下,我怀疑我们最终会:在每个案例结束时(这是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#.