假设我想要一个包含许多子类的主类,子类都具有相同的属性/方法,我需要在许多不同的其他代码部分中访问它们.
示例:主类:国家/地区
子类/项目:德国,荷兰,大英国,法国,......
然后为每个国家/地区定义各个属性,例如人口,单位,......
所以稍后我会在代码中访问它
if (Country.France.Units < Country.Germany.Units)
Console.WriteLine("foo");
Run Code Online (Sandbox Code Playgroud)
编辑:感谢大家的答案,CodeCaster的解决方案非常适合我的目的.其他人也是对的,通过字符串值解析字典只是工作量少......
您不希望这样做,因为对于每个添加的国家/地区,您必须重新编译,这意味着您无法自动将从外部数据源加载的数据链接到静态类型的属性.
改为使用字典:
var countries = new Dictionary<string, Country>();
// ...
if (countries["France"].Units < ...)
Run Code Online (Sandbox Code Playgroud)