加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 07:20:05 所属栏目:百科 来源:网络整理
导读:我有一个包含许多项目的枚举,我想在VB.NET的select case语句中实现,就像我们在c#.net中一样. 就像在C#.net中一样,我们只需输入switch然后点击Tab键并输入enum变量名,然后点击输入键在case语句中自动枚举的所有enum项.我在VB.net中寻找相同的方式,所以我不需
我有一个包含许多项目的枚举,我想在VB.NET的select case语句中实现,就像我们在c#.net中一样.

就像在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#.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读