如何使枚举指向一个类

后手

假设我有这个枚举来存储所有不同的实体类型

class Entities(Enum):
    TREE = auto()
    ROCK = auto()
    FLOWER = auto()

我想创建一个函数,它采用其中一个(TREE、ROCK...)枚举,并且知道枚举对应于我拥有的一个类。例如。:

def myFunc(EntityType):
    return type(EntityType)

print(myFunc(Entities.ROCK))
>>>ROCK (where ROCK is an instance of the ROCK class)

如果有办法做到这一点,是否有一种方法,甚至可以初始化类,例如:

def myFunc(EntityType):
    myObj = EntityType(pos=(0,0))
    return myObj
凯尔·帕森斯

如果您只是放弃auto并使用类本身作为 的值Entities怎么办?假设TreeRockFlower是您的类的名称:

class Entities(Enum):
    TREE = Tree
    ROCK = Rock
    FLOWER = Flower

Entities.TREE.value是 的类构造函数Tree

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何声明另一个类中的枚举?

如何遍历一个类中的几个枚举

如何让一个类包含一个指向自身的指针列表?

指向一个枚举或另一个枚举的变量?

在一个类中声明一个枚举

我如何能实现一个类时,它的一个属性是一个枚举变量?

如何在C ++中将指向一个类的指针复制到另一个类中?

如何将指向基类的指针保存到另一个类的字段?

枚举类如何可以扩展另一个外部库类?

C ++:如何在声明它的模板类主体之外定义一个枚举类?

如何通过引用传递另一个类的函数内的枚举类?

如何拥有一个类中的几种枚举类型之一的参数

如何创建一个指向框的自指向箭头

如何将模板参数固定为基于另一个模板参数的一个枚举类?

我如何遍历一个枚举?

如何从Swift中的另一个类访问枚举?

如何从另一个类的Builder中引用枚举字段?

创建一个指向类对象的线程

保持指向另一个类的指针

指向另一个类中的对象的指针?

Objective-C-指向一个类的指针与指向另一个类的指针是否不同?

打开枚举到Java中的一个类

从另一个类访问枚举

一个Java文件中包含多个枚举类

创建一个结构体作为枚举类成员

在枚举类中声明一个静态变量

我如何在另一个枚举中引用一个枚举

如何在Java中将一个枚举转换为另一个枚举?

我如何使一个枚举项目具有另一个枚举的项目?