在运行时向 Enum 添加值
Posted
技术标签:
【中文标题】在运行时向 Enum 添加值【英文标题】:Adding values to Enum in runtime 【发布时间】:2011-08-24 10:37:51 【问题描述】:我有枚举:
public enum ConsoleMessageType
Error, Info, BackInfo, Success
我想在运行时给它加值,这可能吗?
【问题讨论】:
这已经被问过了。看***.com/questions/55375/add-values-to-enum @spkinz 这不是问同一个问题。那是关于继承,这是关于在运行时修改类型。 你为什么要这样做? 你可以给枚举任何值,只是没有名字。 @Yasser 请阅读:msmvps.com/blogs/jon_skeet/archive/2010/08/29/…“问题陈述”部分是我要求您说明您想要实现的目标的原因 【参考方案1】:没有。您应该为此使用字典。
【讨论】:
【参考方案2】:不,这是不可能的。
C# 是一种强类型语言,它的本质阻止了对此类事物的支持。
查看这篇关于 expando 对象的文章,这可能是解决您的问题的方法:
http://msdn.microsoft.com/en-us/magazine/ff796227.aspx【讨论】:
我认为针对未知问题提出解决方案不是一个好主意(可能是错误的) 但这是一个提示。我的答案是no,但也许expando objects 会是一个posible 的解决方案(可能,我没有说the solution)以上是关于在运行时向 Enum 添加值的主要内容,如果未能解决你的问题,请参考以下文章
在 AsyncTask 运行时向 TextView 添加文本