【问题标题】:Parsing FQN of enum constant to enum constant w/o splitting the string将枚举常量的 FQN 解析为枚举常量而不拆分字符串
【发布时间】:2016-11-18 10:43:46
【问题描述】:

尝试解析命令行参数 ('MyNameSpace.MyEnumClassName.MyConstantName') 以获取常量。

在不提取 EnumClassName 的情况下这可能吗?我知道我可以得到常数 Type.GetType(...); Enum.Parse(...)

但是有直接的方法吗?

背景: 这个论点可以用于不同的事情。可以有一个类的 fqn,一个常量,......我知道这不是一种“干净”,但这不是这个问题的一部分。

【问题讨论】:

  • 我认为不可能,因为Enum.Parse()需要解析枚举的类型。
  • 你的意思是你想得到一个字符串"MyConstantName"arg.Split('.').Last()如果要枚举实例/数值,需要Enum.Parse()
  • MyNameSpace.MyEnumClassName 上的 Type.GetType 以及 MyConstantName 上的 Enum.Parse 肯定会为您提供对象中的枚举值。这不是特别沉重。如果您希望它作为单个函数,则在某个实用程序类中编写一个静态函数。
  • 是的,我想要 MyConstantName 但不是字符串,即 c# 中的常量对象。并且不想要字符串操作,因为这个参数应该可用于其他类/对象......常量只是一个选项。是的,它很丑,但至少在某些情况下它不应该因为必须拆分字符串而变得更丑:)

标签: c# parsing command-line enums command-line-arguments


【解决方案1】:

由于似乎没有直接的方法,我以“”的答案结束这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多