【发布时间】:2018-04-03 10:53:21
【问题描述】:
我想创建一个嵌套结构,其中每个类都代表一个国家,继承同一个父类Country。每个子类都应该有一个代表不同状态的枚举States。
目标是能够选择一个国家,然后是其中一个州。
内容将保存到字典Dictionary<Tuple<string, Type>, object> 中,其中Types 将是Country 和Country.States。
我尝试创建一个abstract class 和一个名为States 的abstract class,但这不起作用,因为它是一个类型定义。
有什么解决办法吗?
public abstract class Country
{
public abstract enum States { get; }
}
public class CountryA : Country
{
public new enum States
{
StateA,
StateB,
StateC,
}
}
【问题讨论】:
-
我喜欢早上 X Y 的气味。认真,虽然你不能。您可能希望的最好结果是通过 int 访问各个级别的枚举,或者通过某种 adhock 实现进行某种反射
-
使用枚举来存储一个国家的状态听起来很糟糕。
-
@crazyGamer 使用类来表示国家更糟糕。 OP:你真的会有超过 200 个类和数千个枚举吗?每次国家/地区发生变化时,您会重新构建您的应用程序吗?他们的州呢?
-
我想知道
public class Country { public string CountryName;}和public class State : Country { public string StateName; }是否更适合。但我不喜欢它。无论如何,为每个国家/地区设置多个课程听起来很难维持。 -
伙计们,这只是一个大学项目。我只想存储一些示例:D(顺便说一句,项目是关于插件的)
标签: c# inheritance enums