我正在尝试生成带有适当枚举的打字稿界面类。

我坚持如何获得枚举成员的价值。

enum.Members获取代码内容,而不是代码元素,如果我尝试铸造,它会破裂。它也与密码有关。

我要做的是获取值,以便具有值为1 = 1,value2 = 2等的显式,而不是仅value1,value2,因为枚举可能不是基于0的。

任何帮助将不胜感激。

有帮助吗?

解决方案

"CodeElements“听起来好像您正在使用Envdte界面来访问您的枚举。如果是,所有枚举项目都在 Members- 专业 EnvDTE.CodeEnum 类型。他们是类型 EnvDTE.CodeVariable 并且显式值存储在 InitExpression 变量。

看看这个枚举:

    // C# Enum to reflect 
    public enum MyEnum { Hi = 10, There = 15 }

这本T4代码反映了枚举:

    <#
      // the enumeration object you already seem to have
      EnvDTE.CodeEnum theEnum;

      // iterate all enumeration items
      foreach(EnvDTE.CodeVariable variable in theEnum.Members)
      {
          // render name and value
          #><#= variable.Prototype #> = <#= variable.InitExpression.ToString() #>
    <#}
    #>

应该导致:

    Hi = 10
    There = 15

希望有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top