You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB中如何简化引用其他Module内的Enum类型

问题描述

我在一个Module中声明了枚举类型:

friend Module M
  Enum E
    Elem1
    Elem2
  end Enum
end Module

并在另一个类中使用它:

Class C
  console.writeline(M.E.Elem1)  ' 可以正常运行
End Class

但我希望将M.E的写法简化为MyE,尝试了以下写法但无法成功:

Class C
  private myE as M.E  ' 以及使用GetType的各种变体
  console.writeline(myE.Elem1)
end Class

请问是否有办法实现用MyE指代M.E?

解决方案

方法1:文件级别的Imports别名(最优解)

在包含Class C的代码文件最顶部(类定义之前)添加Imports语句,给枚举类型M.E直接起别名:

Imports MyE = M.E

Class C
  Console.WriteLine(MyE.Elem1)  ' 现在可直接用MyE代替M.E访问枚举成员
End Class

这种方式最简单直接,整个代码文件内都能通过MyE指代M.E。

补充说明

你之前尝试的private myE as M.E是声明了一个枚举的实例变量,而非类型别名。枚举的成员(比如Elem1)属于类型本身,不是实例属性,所以无法通过实例变量访问这些成员。

内容的提问来源于stack exchange,提问作者bernso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 18:45:28