Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю


Язык программирования C#9 и платформа .NET5 читать книгу онлайн
В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле.
Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных.
Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.
{
}
}
Добавьте открытый конструктор, который принимает обязательные экземпляры и передает их конструктору базового класса:
public ItemDetailsTagHelper(
IActionContextAccessor contextAccessor,
IUrlHelperFactory urlHelperFactory)
: base(contextAccessor, urlHelperFactory) {}
Переопределите метод Process(), чтобы вызывать метод BuildContent() базового класса:
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})public override void Process(TagHelperContext context, TagHelperOutput output)
{
BuildContent(output,nameof(CarsController.Details),
"text-info","Details","info-circle");
}
Код создает ссылку Details (Детали) с изображением значка информации из Font Awesome. Чтобы не возникали ошибки при компиляции, добавьте в CarsController базовый метод Details():
public IActionResult Details()
{
return View();
}
Вспомогательная функция дескриптора для удаления элемента
Создайте в каталоге TagHelpers новый файл класса по имени ItemDeleteTagHelper.cs. Сделайте класс ItemDeleteTagHelper открытым и унаследованным от класса ItemLinkTagHelperBase. Добавьте в новый файл следующий код:
using AutoLot.Mvc.Controllers;
using AutoLot.Mvc.TagHelpers.Base;
using Microsoft.AspNetCore.Mvc.Infrastructure;
using Microsoft.AspNetCore.Mvc.Routing;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace AutoLot.Mvc.TagHelpers
{
public class ItemDeleteTagHelper : ItemLinkTagHelperBase
{
}
}
Добавьте открытый конструктор, который принимает обязательные экземпляры и передает их конструктору базового класса:
public ItemDeleteTagHelper(
IActionContextAccessor contextAccessor,
IUrlHelperFactory urlHelperFactory)
: base(contextAccessor, urlHelperFactory) {}
Переопределите метод Process(), чтобы вызывать метод BuildContent() базового класса:
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})public override void Process(TagHelperContext context, TagHelperOutput output)
{
BuildContent(output,nameof(CarsController.Delete),"text-danger","Delete","trash");
}
Код создает ссылку Delete (Удалить) с изображением значка мусорного ящика из Font Awesome. Чтобы не возникали ошибки при компиляции, добавьте в CarsController базовый метод Delete():
public IActionResult Delete()
{
return View();
}
Вспомогательная функция дескриптора для редактирования сведений об элементе
Создайте в каталоге TagHelpers новый файл класса по имени ItemEditTagHelper.cs. Сделайте класс ItemEditTagHelper открытым и унаследованным от класса ItemLinkTagHelperBase. Добавьте в новый файл показанный ниже код:
using AutoLot.Mvc.Controllers;
using AutoLot.Mvc.TagHelpers.Base;
using Microsoft.AspNetCore.Mvc.Infrastructure;
using Microsoft.AspNetCore.Mvc.Routing;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace AutoLot.Mvc.TagHelpers
{
public class ItemEditTagHelper : ItemLinkTagHelperBase
{
}
}
Добавьте открытый конструктор, который принимает обязательные экземпляры и передает их конструктору базового класса:
public ItemEditTagHelper(
IActionContextAccessor contextAccessor,
IUrlHelperFactory urlHelperFactory)
: base(contextAccessor, urlHelperFactory) {}
Переопределите метод Process(), чтобы вызывать метод BuildContent() базового класса:
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})public override void Process(TagHelperContext context, TagHelperOutput output)
{
BuildContent(output,nameof(CarsController.Edit),"text-warning","Edit","edit");
}
Код создает ссылку Edit (Редактировать) с изображением значка карандаша из Font Awesome. Чтобы не возникали ошибки при компиляции, добавьте в CarsController базовый метод Edit():




