Question

J'essaie de générer une classe d'interfaces TypeScript complète avec des énumérations appropriées.

Je suis coincé sur la façon d'obtenir la valeur du membre de l'énum.

ENUM.Members obtient des éléments de code, pas des coperoperties et si j'essaie de lancer, il se casse. Il se brise également avec Codeeenum.

Ce que j'essaie de faire, c'est d'obtenir la valeur afin qu'elle soit explicite avec Value1 = 1, valeur2 = 2 etc. Au lieu de simplement valeur 1, Value2 car les énumations peuvent ne pas être basées sur 0.

Toute aide serait grandement appréciée.

Était-ce utile?

La solution

"CodeElements"On dirait que vous utilisez les interfaces Envdte pour accéder à vos énumérations. Si c'est le cas, tous Members-Property du EnvDTE.CodeEnum taper. Ils sont de type EnvDTE.CodeVariable et la valeur explicite est stockée dans le InitExpression de la variable.

Jetez un œil à cette énumération:

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

Et ce codes T4 reflétant l'énumération:

    <#
      // 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() #>
    <#}
    #>

Devrait entraîner:

    Hi = 10
    There = 15

J'espère que cela pourra aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top