Cake.Web.Docs.DocumentModelMapper.MapMethod C# (CSharp) Метод

MapMethod() приватный статический Метод

private static MapMethod ( IMethodInfo method, Cake.Web.Docs.Xml.Model.XmlDocumentationModel xmlModel ) : Cake.Web.Docs.DocumentedMethod
method IMethodInfo
xmlModel Cake.Web.Docs.Xml.Model.XmlDocumentationModel
Результат Cake.Web.Docs.DocumentedMethod
        private static DocumentedMethod MapMethod(IMethodInfo method, XmlDocumentationModel xmlModel)
        {
            var parameters = new List<DocumentedParameter>();

            SummaryComment summary = null;
            RemarksComment remarks = null;
            IEnumerable<ExampleComment> examples = null;
            ReturnsComment returns = null;

            // Get the documentation for the type.
            var member = xmlModel.Find(method.Identity);
            if (member != null)
            {
                // Get the comments for the type.
                summary = member.Comments.OfType<SummaryComment>().FirstOrDefault();
                remarks = member.Comments.OfType<RemarksComment>().FirstOrDefault();
                examples = member.Comments.OfType<ExampleComment>();
                returns = member.Comments.OfType<ReturnsComment>().FirstOrDefault();
            }

            // Map parameters.
            foreach (var parameterDefinition in method.Definition.Parameters.ToList())
            {
                ParamComment comment = null;
                if (member != null)
                {
                    // Try to get the comment for the current parameter.
                    comment = member.Comments.OfType<ParamComment>().FirstOrDefault(x => x.Name == parameterDefinition.Name);
                }

                var parameter = new DocumentedParameter(parameterDefinition, comment, method.Metadata);
                parameters.Add(parameter);
            }

            var metadata = method.Metadata;
            bool isPropertyAlias;
            if (method.Definition.IsCakeAlias(out isPropertyAlias))
            {
                metadata = new AliasMetadataAdapter(metadata, isPropertyAlias);
            }

            return new DocumentedMethod(method, parameters, summary, remarks, examples, returns, metadata);
        }