Improve XML docs for ActionResultObjectValueAttribute (#22479)

This commit is contained in:
Scott Addie 2020-06-03 08:42:53 -05:00 committed by GitHub
parent 7043b022b4
commit e7ca49c95e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 4 deletions

View File

@ -6,19 +6,33 @@ using System;
namespace Microsoft.AspNetCore.Mvc.Infrastructure
{
/// <summary>
/// Attribute annoted on ActionResult constructor, helper method parameters, and properties to indicate
/// Attribute annotated on ActionResult constructor, helper method parameters, and properties to indicate
/// that the parameter or property is used to set the "value" for ActionResult.
/// <para>
/// Analyzers match this parameter by type name. This allows users to annotate custom results \ custom helpers
/// with a user defined attribute without having to expose this type.
/// with a user-defined attribute without having to expose this type.
/// </para>
/// <para>
/// This attribute is intentionally marked Inherited=false since the analyzer does not walk the inheritance graph.
/// </para>
/// </summary>
/// <example>
/// BadObjectResult([ActionResultObjectValueAttribute] object value)
/// ObjectResult { [ActionResultObjectValueAttribute] public object Value { get; set; } }
/// Annotated constructor parameter:
/// <code>
/// public BadRequestObjectResult([ActionResultObjectValue] object error)
/// :base(error)
/// {
/// StatusCode = DefaultStatusCode;
/// }
/// </code>
/// Annotated property:
/// <code>
/// public class ObjectResult : ActionResult, IStatusCodeActionResult
/// {
/// [ActionResultObjectValue]
/// public object Value { get; set; }
/// }
/// </code>
/// </example>
[AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
public sealed class ActionResultObjectValueAttribute : Attribute