Передача данных экземпляра объекта для атрибута

StackOverflow https://stackoverflow.com/questions/1965688

  •  21-09-2019
  •  | 
  •  

Вопрос

Я хотел бы передать определенные данные из экземпляра объекта в его атрибут, и у меня возникают проблемы с тем, как их реализовать. Вот образец:

[AuthenticateAttribute]
public class MyController: Controller
{
    UserInfo info;
}

Идея в том, что AuthenticateAttribute Экземпляр заполнит экземпляр пользователя.

Я хочу передать ссылку на info к примеру AuthenticateAttribute и тем самым устраняют сильную связь между атрибутом и конкретным MyController учебный класс.

Это возможно?

Это было полезно?

Решение

Сам атрибут не должен иметь UserInfo поле Имо. Имейте в виду, что будет один экземпляр атрибута для тип Это применяется - не один на экземпляр такого типа.

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

Другие советы

Коллекция ViewData контроллера доступна из атрибута, и вы можете добавить к нему свой объект userInfo, а затем получить к нему доступ в аспекты контроллера. Вы также можете использовать типичную модель, содержащую userinfo. Этот сценарий описан здесь Получить разрешение от атрибута авторизации?

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top