Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 50988|Ответ: 8

[Источник] C# 10 Новый глобальный синтаксис с использованием глобального цитирования

[Скопировать ссылку]
Опубликовано 20.11.2021 10:55:01 | | | |
Директива using позволяет использовать тип, определённый в пространстве имён, без указания полностью квалифицированного пространства имён для этого типа. Добавление глобального модификатора в директиву using означает, что use будет применён ко всем файлам компиляции (обычно к проекту). Директива глобального использования была добавлена в C# 10. Синтаксис:

Рекомендуемая практика — помещать глобальный импорт в отдельный файл (по одному для каждого проекта), например, он может быть назван:GlobalUsings.csФайл.

Официальное введение в документацию Microsoft:Вход по гиперссылке виден.

Мы помещаем пространство имён, на которое сталкивается Startup.cs, в GlobalUsings.cs-файл, не забывая добавить их перед использованиемГлобальныйКлючевые слова!! Код таков:


В этот момент компилятор сообщает об ошибке, что «функция глобальной с использованием команды недоступна в C# 8.0, пожалуйста, используйте версию языка 10.0 или новее», как показано на рисунке ниже:



В данном случае, возьмём проект ASP.NET Core 3.1, достаточно дважды кликнуть по проекту (файл .csproj) и добавить LangVersion в узел Project-> PropertyGroup, как показано на следующем рисунке:





Это предложение означает, что проект использует синтаксис C# 10 относительно версии на языке C#:Вход по гиперссылке виден.

Файл при этом не сообщается как ошибкаStartup.cs Пространство имён, на которое ссылается файл, засеяно, как показано на рисунке ниже:



Удаляем ссылки на Program.cs, Startup.cs, а затем перекомпилируем проект, как показано на изображении ниже:



использованиеILSpy_binaries_7.2.0.6702-preview2Полученный WebApplication1.dll файл декомпилируется, как показано на следующем изображении:



В стартовом файле всё ещё есть ссылки на использование, и GlobalUsings.cs не генерируется, поэтому глобальное использование — это просто синтаксис, что упрощает утомительную программную работу и значительно повышает эффективность работы.

.NET 6Неявные пространства имёнСсылки также достигаются с помощью глобальной функции использования.

В настоящее время добавлены различные стандартные пространства имён для разных типов SDK, и существующие из них следующие:

Для Microsoft.NET.Sdk стандартное пространство имён выглядит следующим образом:


Для Microsoft.NET.Sdk.Web:

Для Microsoft.NET.Sdk.Worker:

Если вы хотите отключить неявные ссылки на пространство имён, вы можете полностью отключить эту функцию через DisableImplicitNamespaceImports, следующим образом:

Если вы просто хотите отключить ссылки на Microsoft.NET.Sdk.Web, вы можете настроить DisableImplicitNamespaceImports_Web следующим образом:

Давайте создадим новый консольный проект на .NET 6.0 для тестирования, и весь проект состоит только Program.cs одном файле, как показано на рисунке ниже:



ConsoleApp1.csproj настроен следующим образом:

Где находится глобальная директива по использованию? Откройте каталог obj (в котором хранятся промежуточные временные файлы, созданные в процессе компиляции) и найдите его в каталоге Debug\net6.0ConsoleApp1.GlobalUsings.g.csФайл:



ConsoleApp1.GlobalUsings.g.cs файлы генерируются автоматически на основе параметров свойств ImplicitUsing проекта.

(Конец)




Предыдущий:Руководство по скачиванию и установке Visual Studio 2022 Enterprise Edition
Следующий:Практическое применение обратного прокси Nginx для удалённого рабочего стола Windows
Опубликовано 21.11.2021 19:26:44 |
Новые вещи, учитесь и учитесь
Опубликовано 21.11.2021 23:09:21 |
Приходи и учись снова。。。。。。
Опубликовано 01.12.2021 10:07:39 |
Вэй У
Опубликовано 08.02.2022 9:28:46 |

Новые вещи, учитесь и учитесь
Опубликовано 08.02.2022 9:29:19 |


Новое — учитесь
 Хозяин| Опубликовано 12.03.2022 17:52:27 |
Удалите одну из стандартных ссылок и отредактируйте файл проекта следующим кодом:

 Хозяин| Опубликовано 19.03.2022 20:57:25 |
Путь к файлу: "C:\Program Files\dotnet\sdk\6.0.200\Sdks\Microsoft.NET.Sdk.Web\Sdk\Sdk.props"

Опубликовано 20.02.2023 16:23:50 |
666 Открытие Нового Света
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com