private static async Task Properties(StreamWriter writer, Type type, XDocument xmlComments) { var properties = type.GetProperties().Where(TypeHelper.IgnoreDeclaringType).ToList(); if (properties.Count > 0) { await writer.WriteLineAsync("### Properties"); await writer.WriteLineAsync("| | |"); await writer.WriteLineAsync("|_|_|"); foreach (var property in properties.OrderBy(o => o.Name)) { await writer.WriteAsync("["); await writer.WriteAsync(property.Name); await writer.WriteAsync("]("); await writer.WriteAsync(FileNameHelper.PropertyFileName(string.Empty, property)); await writer.WriteAsync(")|"); var summary = XmlCommentHelper.Property(xmlComments, property); await writer.WriteAsync(summary); if (property.DeclaringType != type) { if (summary.Length > 0) { await writer.WriteAsync("<br/>"); } await writer.WriteAsync("(Inherited from "); await writer.WriteAsync(property.DeclaringType?.Name); await writer.WriteAsync(")"); } await writer.WriteLineAsync(); } } await writer.WriteLineAsync(); }