| File: RazorPageResult.cs | Web Access |
| Project: src\aspnetcore\src\Mvc\Mvc.Razor\src\Microsoft.AspNetCore.Mvc.Razor.csproj (Microsoft.AspNetCore.Mvc.Razor) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.AspNetCore.Mvc.Razor; /// <summary> /// Result of locating a <see cref="IRazorPage"/>. /// </summary> public readonly struct RazorPageResult { /// <summary> /// Initializes a new instance of <see cref="RazorPageResult"/> for a successful discovery. /// </summary> /// <param name="name">The name of the page that was found.</param> /// <param name="page">The located <see cref="IRazorPage"/>.</param> public RazorPageResult(string name, IRazorPage page) { ArgumentNullException.ThrowIfNull(name); ArgumentNullException.ThrowIfNull(page); Name = name; Page = page; SearchedLocations = null; } /// <summary> /// Initializes a new instance of <see cref="RazorPageResult"/> for an unsuccessful discovery. /// </summary> /// <param name="name">The name of the page that was not found.</param> /// <param name="searchedLocations">The locations that were searched.</param> public RazorPageResult(string name, IEnumerable<string> searchedLocations) { ArgumentNullException.ThrowIfNull(name); ArgumentNullException.ThrowIfNull(searchedLocations); Name = name; Page = null; SearchedLocations = searchedLocations; } /// <summary> /// Gets the name or the path of the page being located. /// </summary> public string Name { get; } /// <summary> /// Gets the <see cref="IRazorPage"/> if found. /// </summary> /// <remarks>This property is <c>null</c> if the page was not found.</remarks> public IRazorPage? Page { get; } /// <summary> /// Gets the locations that were searched when <see cref="Page"/> could not be found. /// </summary> /// <remarks>This property is <c>null</c> if the page was found.</remarks> public IEnumerable<string>? SearchedLocations { get; } }