コード例 #1
0
        public void Apply(Operation operation, OperationFilterContext context)
        {
            foreach (var pd in context.ApiDescription.ParameterDescriptions)
            {
                IParameter op;
                Type       enumType = null;
                if ((enumType = GetRealEnumType(pd.Type)) != null &&
                    (op = operation.Parameters.FirstOrDefault(p => p.Name.Equals(pd.Name, StringComparison.OrdinalIgnoreCase))) != null)
                {
                    if (string.IsNullOrWhiteSpace(op.Description))
                    {
                        op.Description = _xmlCommentMgr.GetTypeSummary(enumType.FullName);
                    }

                    var eVals = _xmlCommentMgr.GetEnumValuesSummary(enumType);
                    op.Description += "\r\n" + string.Join(" | ", eVals.Select(p => $"{p.Value} - {p.Key}"));
                    //var ops = (PartialSchema)op;
                    ////ops.Enum = eVals.Select(p => $"{p.Value} - {p.Key}" as object).ToList();
                }
            }
        }