У меня есть компонент бритвы, для которого я хочу использовать значение конфигурации из моего файла appsettings.json, и я следовал приведенному здесь примеру: Внедрить IConfiguration
Но для меня это не работает внутри блока @code.
Мой бритвенный компонент пока выглядит так:
@using Microsoft.Extensions.Configuration
@inject IConfiguration Configuration
@code {
private string strValue = Configuration.GetSection("MySection").Value;
}
Я получаю следующую ошибку в строке Configuration.GetSection:
Инициализатор поля не может ссылаться на нестатическое поле, метод или свойство MyComponent.Configuration.
Очевидно, я могу использовать @Configuration вне раздела @code без ошибок.
Я что-то упускаю? Мне не удалось найти сообщение, относящееся именно к этой проблеме, извините, если это дубликат.
1 ответ
Попробуй это:
@code {
private string strValue;
protected override void OnInitialized()
{
strValue = Configuration.GetSection("MySection").Value;
}
}
Вы не можете определить и инициализировать переменную strValue
, вызывая Configuration.GetSection
одновременно. Обычно вам нужно определить переменную, а затем заполнить ее значением, возвращаемым вызовом метода, в паре OnInitialized (Async).
Похожие вопросы
Связанные вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.