Переглянути джерело

define RouteValuesAddress .ToString () (#39753)

Co-authored-by: Pranav K <[email protected]>
Christopher Yeleighton 4 роки тому
батько
коміт
c2cf4e9b8b

+ 1 - 0
src/Http/Routing/src/PublicAPI.Unshipped.txt

@@ -3,3 +3,4 @@ Microsoft.AspNetCore.Routing.RouteOptions.SetParameterPolicy(string! token, Syst
 Microsoft.AspNetCore.Routing.RouteOptions.SetParameterPolicy<T>(string! token) -> void
 static Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapPatch(this Microsoft.AspNetCore.Routing.IEndpointRouteBuilder! endpoints, string! pattern, System.Delegate! handler) -> Microsoft.AspNetCore.Builder.RouteHandlerBuilder!
 static Microsoft.AspNetCore.Builder.EndpointRouteBuilderExtensions.MapPatch(this Microsoft.AspNetCore.Routing.IEndpointRouteBuilder! endpoints, string! pattern, Microsoft.AspNetCore.Http.RequestDelegate! requestDelegate) -> Microsoft.AspNetCore.Builder.IEndpointConventionBuilder!
+override Microsoft.AspNetCore.Routing.RouteValuesAddress.ToString() -> string?

+ 9 - 0
src/Http/Routing/src/RouteValuesAddress.cs

@@ -3,6 +3,7 @@
 
 #nullable enable
 
+using System.Linq;
 namespace Microsoft.AspNetCore.Routing;
 
 /// <summary>
@@ -10,6 +11,7 @@ namespace Microsoft.AspNetCore.Routing;
 /// </summary>
 public class RouteValuesAddress
 {
+    private string? _toString;
     /// <summary>
     /// Gets or sets the route name.
     /// </summary>
@@ -24,4 +26,11 @@ public class RouteValuesAddress
     /// Gets or sets ambient route values from the current HTTP request.
     /// </summary>
     public RouteValueDictionary? AmbientValues { get; set; }
+
+    /// <inheritdoc />
+    public override string? ToString()
+    {
+        _toString ??= $"{RouteName}({string.Join(',', ExplicitValues.Select(kv => $"{kv.Key}=[{kv.Value}]"))})";
+        return _toString;
+    }
 }