| | |
| | | if (context.Type.IsEnum) |
| | | { |
| | | // 枚举类型的描述(来自枚举本身的注释) |
| | | schema.Description ??= GetEnumDescription(context.Type); |
| | | schema.Description = EnumUtils.GetModel(context.Type).Result.ToJson(); |
| | | } |
| | | } |
| | | |
| | | // 获取枚举类型的注释 |
| | | private string GetEnumDescription(Type enumType) |
| | | { |
| | | var xmlDoc = XmlDocUtils.GetXmlDocAsync().Result; |
| | | var member = XmlDocUtils.GetXmlDocMemberAsync(enumType, xmlDoc).Result; |
| | | var description = member?.Summary ?? ""; |
| | | foreach (var enumValue in Enum.GetValues(enumType)) |
| | | { |
| | | var enumMember = enumType.GetMember(enumValue.ToString()).First(); |
| | | var enumXmlDocMember = XmlDocUtils.GetXmlDocMemberAsync(enumMember, xmlDoc).Result; |
| | | description += $"{enumValue}-{enumXmlDocMember?.Summary} "; |
| | | } |
| | | return description; |
| | | } |
| | | } |
| | | } |