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); }
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() }); }