Пример #1
0
        public CSharpEnumModel AnalyzeEnumSymbol(INamedTypeSymbol enumSymbol)
        {
            var enumModel = new CSharpEnumModel()
            {
                Name = enumSymbol.Name
            };

            var fields = enumSymbol.GetMembers()
                         .Where(m => m.Kind == SymbolKind.Field)
                         .ToList();

            foreach (var field in fields)
            {
                var fieldSymbol = field as IFieldSymbol;

                var member = new CSharpEnumMemberModel()
                {
                    Name  = fieldSymbol.Name,
                    Value = fieldSymbol.HasConstantValue ? (int)fieldSymbol.ConstantValue : 0
                };

                enumModel.Members.Add(member);
            }

            return(enumModel);
        }
Пример #2
0
 public TypeScriptEnumModel ConvertEnum(CSharpEnumModel enumModel)
 {
     return(new TypeScriptEnumModel()
     {
         Name = enumModel.Name,
         Members = enumModel.Members.Select(p => new TypeScriptEnumMemberModel()
         {
             Name = p.Name,
             Value = p.Value
         }).ToList()
     });
 }