Передача параметра в классе атрибута через подрядчикаC#

Место общения программистов C#
Ответить
Anonymous
 Передача параметра в классе атрибута через подрядчика

Сообщение Anonymous »


В моем приложении C# я пытаюсь передать параметр классу Attribute через конструктор. Но ошибка компилятора Вот класс Attribute

общедоступный класс ManageApplicationInsightsAttribute: JobFilterAttribute, IServerFilter { частный ILogger _logger; частный TelemetryClient _telemetryClient; public ManageApplicationInsightsAttribute (TelemetryClient telemetryClient) { _logger = регистратор; _telemetryClient = телеметрияКлиент; } void IServerFilter.OnPerformed (PerformedContext filterContext) { Console.WriteLine("В OnPerformed"); } void IServerFilter.OnPerforming(PerformingContext filterContext) { Console.WriteLine("При выполнении"); } } Вот класс использования, в котором я пытаюсь передать объект TelemetryClient

общедоступный класс MyJob: IBackgroundJob { частный TelemetryClient _telemetryClient; общедоступный MyJob (TelemetryClient telemetryClient) { _telemetryClient = телеметрияКлиент; } [ManageApplicationInsights(_telemetryClient)] публичное асинхронное выполнение задачи() { дождитесь _client.ProcessAllAsync(100); } } Я получаю сообщение об ошибке:

•CS0655: «telemetryClient» не является допустимым аргументом именованного атрибута, поскольку он не является допустимым типом параметра атрибута. Что мне здесь не хватает?

Заранее спасибо.

Я погуглил. Но подходящего решения не найдено.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»