【问题标题】:get class hierarchy of enum field获取枚举字段的类层次结构
【发布时间】:2014-09-27 11:16:55
【问题描述】:

我有这样的课

public class SomeClass {
    public enum Fields {
        field1,
        field2
    }
    //... another fields
}

并在某个函数中传递文件

public void Do(Enum field) {
    string name = DontKnowHow(field);
}

我想要那个名字 == "SomeClass" 或者包含它。 有可能吗?

【问题讨论】:

  • 在类中声明枚举是否有原因?为什么不简单地在 SomeClass 中保存一个 Fields 枚举实例?
  • 你想达到什么目的?为什么需要这样?
  • 为什么不是public void Do(SomeClass.Fileds field) {...。顺便说一句,是Fileds 还是Fields
  • 有几个类具有 Fields 属性,我想从任何类传递 Do(Enum 字段) 中的参数。是的,字段但不是归档。

标签: c# .net class enums


【解决方案1】:

虽然听起来你做错了什么,但你期待的答案就在这里。

string name = field.GetType().DeclaringType.Name;

注意:如果提供的枚举不是嵌套类型,您将得到NullReferenceException,因为DeclaringType 将为空。

【讨论】:

    猜你喜欢
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多