Asp.Net Ядро 3 как поместить функцию в файл program.cs — Модификатор ‘private’ недопустим для этого элемента

#c# #function #asp.net-core #config #startup

#c# #функция #asp.сетевое ядро #конфигурация #запуск

Вопрос:

В выпуске AspNet Core 3 от ноября 2021 года есть файл Program.cs без каких-либо методов, вы просто настраиваете службы.

 app.UseDefaultFiles(); app.UseStaticFiles();  app.Run();  

Однако, если вам нужно добавить метод, например:

 public Task OnFallbackAsync(DelegateResultlt;HttpResponseMessagegt; response, Context context) {  Console.WriteLine("About to call the fallback action. This is a good place to do some logging");  return Task.CompletedTask; }  

Вы получаете сообщение об ошибке:

Модификатор «общедоступный» недопустим для этого элемента

Как объявить функции в файле Program.cs?

Ответ №1:

Решение состоит в том, чтобы удалить ключевое слово scope (Частное, Внутреннее, Публичное).:

 app.UseDefaultFiles(); app.UseStaticFiles();  app.Run();   Task OnFallbackAsync(DelegateResultlt;HttpResponseMessagegt; response, Context context) {  Console.WriteLine("About to call the fallback action. This is a good place to do some logging");  return Task.CompletedTask; }  

Комментарии:

1. Это в основном локальная функция, вы, вероятно, должны упомянуть об этом.

2. Кроме того, это «особенность» операторов верхнего уровня в C#, она не относится к новому ASP.NET Основные шаблоны.

3. Вы также можете создать проект как .NET 5, а затем переключиться на .NET 6. Таким образом, вы не используете новые шаблоны.