Вопрос

Я пытаюсь генерировать класс интерфейсов TypeScript в комплекте с надлежащим перечислением.

Я застрял на том, как получить ценность члена Enum.

Enum.members получает кодовые элементы, а не кодепропертистики, и если я попытаюсь бросить, это сломается. Это также ломается с Codeenum.

То, что я пытаюсь сделать, это получить значение так, чтобы оно было явно со значением1 = 1, значение2 = 2 и т. Д. Вместо просто значение1, значение2, потому что перечисление не может быть 0 на основе.

Любая помощь будет очень оценена.

Это было полезно?

Решение

"CodeElements"Звучит так, как будто вы используете интерфейсы Envdte, чтобы получить доступ к вашим перечислениям. Если так, все элементы перечисления находятся в Members-Поперация EnvDTE.CodeEnum тип. Они типа EnvDTE.CodeVariable и явное значение хранится в InitExpression переменной.

Посмотрите на этот перечисление:

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

И этот T4 Codesnippet, отражающий перечисление:

    <#
      // 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