Class 类似枚举的数据结构或替代方案

Class 类似枚举的数据结构或替代方案,class,enums,Class,Enums,我有一个设计问题,这已经证明对我目前的设计技能来说太多了。 我希望我的请求不会太琐碎或太愚蠢,因为随着时间的推移,我在这些论坛上看到了技术高超的人 基本上,这就是我需要的: 能够通过另一个类静态或常量声明引用特定的类实例化(希望它对您和我都有意义,哈哈)。 “enum”行为对于其“易访问性”及其标准方法特别有用 //simple class with a constructor public class myclass { int myint = 0; string mystring =

我有一个设计问题,这已经证明对我目前的设计技能来说太多了。 我希望我的请求不会太琐碎或太愚蠢,因为随着时间的推移,我在这些论坛上看到了技术高超的人

基本上,这就是我需要的: 能够通过另一个类静态或常量声明引用特定的类实例化(希望它对您和我都有意义,哈哈)。 “enum”行为对于其“易访问性”及其标准方法特别有用

//simple class with a constructor
public class myclass {
  int myint = 0;
  string mystring = "";

  public myclass(int localint, string localstring) {
    myint = localint;
    mystring = localstring;

  }
}

//the core of the issue.
public enum myenum : myclass {
  enum1 = new myclass(9,"abr"),
  enum2 = new myclass(99,"acad"),
  enum3 = new myclass(999,"abra")
}
因此,在其他地方,当我需要“abra”时,不是手动实例化它,而是在代码中有无数重复项,我只是

myenum mylocalenum;
mylocalenum = enum3; //no mistake, the underlying class variables are predefined
其目的是拥有一个可选择的、预设的“myenum”,它基本上封装了另一个数据结构,我在声明阶段预先定义了这个数据结构

这是因为我设计了几个数据预设,并且我需要像使用枚举一样与它们交互(获取它们的编号、描述,并基本上将它们与预定义值关联)


如果您有解决方案,甚至类似的替代方案,请告诉我。

听起来您可能想要注册?它的语法为Registery::get('instanceName')(当然,语法取决于语言)。但这些究竟代表什么呢?全球化有时可能是个坏主意。(从技术上讲,注册表不是一个全局注册表,但它几乎具有全局注册表的所有缺点。)“myclass”实例表示模块化个人工作表的不同属性,如:class personalsheet=>enum of Professionals实例,该实例基于“level ableparameter”类(示例中为myclass)=>技能枚举实例,始终基于'level ableparameter'类,但具有不同的实例化参数=>属性枚举实例。。。等等。嗯,听起来注册中心应该可以工作。我会尝试在一个不在全局范围内,而是与模型或其他东西相关的地方实现它。(如果可能的话。)例如,我可能有一个cached find()方法,第一次实例化对象,然后每次都返回已经创建的对象。感谢你的提醒,我完全不知道注册表是什么,但至少我现在有了一个方向:)它基本上是一个封装的哈希映射。只需输入key=>value。在本例中,键将是对每个实例有意义的东西(可能是名称字符串),值将是指向对象的指针。