vb6中的动态枚举
有没有办法在vb6中运行时创建枚举? 基本上,我需要创建一个产品枚举,但我将在运行时获取产品数据,这应该是不同的。否 枚举的全部目的是在编译时提供类型安全性。例如,如果函数接受枚举值作为参数,则有效输入的范围将基于枚举类型的成员进行良好定义。它不必担心如何处理无效输入,因为这将导致编译器错误 在运行时无法实现这种类型安全性,因此动态创建的枚举没有多大意义。无论如何,它们都不是语言或运行时环境支持的功能 您只需使用唯一标识符(如字符串或数值)来代替枚举。如果需要,可以创建一个数组或另一个集合类,将这些ID映射到唯一的键(例如,产品名称)。然后,您可以在运行时将产品动态添加到阵列中,并按名称检索它们的ID 请注意,使用此策略,您需要验证输入并手动处理任何错误。否 枚举的全部目的是在编译时提供类型安全性。例如,如果函数接受枚举值作为参数,则有效输入的范围将基于枚举类型的成员进行良好定义。它不必担心如何处理无效输入,因为这将导致编译器错误 在运行时无法实现这种类型安全性,因此动态创建的枚举没有多大意义。无论如何,它们都不是语言或运行时环境支持的功能 您只需使用唯一标识符(如字符串或数值)来代替枚举。如果需要,可以创建一个数组或另一个集合类,将这些ID映射到唯一的键(例如,产品名称)。然后,您可以在运行时将产品动态添加到阵列中,并按名称检索它们的IDvb6中的动态枚举,vb6,Vb6,有没有办法在vb6中运行时创建枚举? 基本上,我需要创建一个产品枚举,但我将在运行时获取产品数据,这应该是不同的。否 枚举的全部目的是在编译时提供类型安全性。例如,如果函数接受枚举值作为参数,则有效输入的范围将基于枚举类型的成员进行良好定义。它不必担心如何处理无效输入,因为这将导致编译器错误 在运行时无法实现这种类型安全性,因此动态创建的枚举没有多大意义。无论如何,它们都不是语言或运行时环境支持的功能 您只需使用唯一标识符(如字符串或数值)来代替枚举。如果需要,可以创建一个数组或另一个集合类,将
请注意,使用此策略,您将需要验证输入并手动处理任何错误。+1但在VB6中,没有编译器检查传递给需要枚举的例程的值。也没有运行时检查:(真的,MajjStuple,谢谢吗?我想这并不奇怪,C和C++有相同的行为。无论如何,我开始怀疑,如果我用VB 6来制作任何代码来回答这个标签的问题,那就太长了。-/+ 1,但是在VB6中没有编译器检查传递给常规ExpEc的值。Tun-EnUM。也没有运行时检查:(@ MajjStuple,真的吗?谢谢你的修正。我想这并不奇怪,C和C++有相同的行为。无论如何,我开始怀疑,如果我用VB 6来制作任何代码来回答这个标签的问题,那就太长了。