Задать вопрос
@Ben_r007

C# 10. Как отказаться от программы верхнего уровня?

Всем привет.
Ребята, пожалуйста, спасите от разочарования. Вчера я считал, много лет считал, что C# - лучший ЯП по моим меркам. Сегодня, с выходом C# 10, мои представления здорово так пошатнулись.
Итак. Создаем консольный проект .NET 6.
Видим одну единственную инструкцию:
Console.WriteLine("Hello, World!");
Если раньше, в C# 9, хотя бы к System нужно было обращаться, то в C# 10, вообще не нужно.
Оказывается, в C# 10 появились неявные директивы using. Вот они определены, а для того, дабы написать то, как мы долгие годы писали, с using, классами и точкой входа, нужно плясать с бубном. К примеру, создать проект .NET 5, а в настройках поменять на .NET 6.
Объясните, растолкуйте, пожалуйста! Как понять? Это насильное навязывание нового стиля кодирования?
Т.е, если я хочу писать на C# 10, но я хочу писать полноценно, а не абы как. Мне что, устраивать пляски, чтобы оно работало?
Или как в VS отказаться от неявных директив и вздохнуть свободно?
Заранее благодарен!
  • Вопрос задан
  • 930 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Ну вообще это удобно. и я не вижу каких-то причин. чтобы писать по старому.
Но если очень сильно хочется - ты можешь создать свой собственный шаблон, в котором будет создаваться старый public static void Main и без неявных юзингов.

Вот так выключаются global usings:
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>net6.0</TargetFramework>
        <Nullable>enable</Nullable>
        <ImplicitUsings>disable</ImplicitUsings>
    </PropertyGroup>
</Project>

Вот так создавать свой шаблон:
https://docs.microsoft.com/ru-ru/dotnet/core/tools...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы