При обращении к именам контроллеров в коде инфраструктуре ASP.NET Core довольно часто требуется низкоуровневое строковое значение, не содержащее суффикс
Controller
, что препятствует использованию метода
nameof
без последующего вызова
string.Replace
. Со временем задача становится утомительной, поэтому для ее решения будет создан расширяющий метод для типа
string
.
Создайте в проекте
AutoLot.Services
новый каталог по имени
Utilities
и добавьте в него файл
StringExtensions.cs
со статическим классом
StringExtensions
. Модифицируйте код, добавив расширяющий метод
RemoveController
:
using System;
namespace AutoLot.Mvc.Extensions
{
public static class StringExtensions
{
public static string RemoveController(this string original)
При вызове вспомогательной функции дескриптора вызывается метод
Process
, принимающий два параметра,
TagHelperContext
и
TagHelperOutput
. Параметр
TagHelperContext
применяется для получения остальных атрибутов дескриптора и словаря объектов, которые используются с целью взаимодействия с другими вспомогательными функциями дескрипторов, нацеленными на дочерние элементы. Параметр
TagHelperOutput
применяется для создания визуализированного вывода. Поскольку это базовый класс, создайте метод по имени
BuildContent
, который производные классы смогут вызывать из метода