PostSharp: как получить ILocationBinding

Я пишу аспект, основанный на местоположении. Метод OnGetValue получает аргумент типа LocationInterceptionArgs, что позволяет мне получить доступ к исходному свойству (или, если есть несколько активных аспектов, получить доступ к следующему уровню в цепочке вызовов).

Теперь я хочу прочитать свойство в разное время вне метода OnGetValue. Из документации, я понимаю, что мне нужен экземпляр ILocationBinding, который я могу вызвать в любое время. Я мог бы сохранить ILocationBinding из аргумента LocationInterceptionArgs при первом вызове OnGetValue. Но я хочу получить доступ к значению до того, как геттер будет вызван в первый раз.

Как я могу получить экземпляр ILocationBinding до вызова OnGetValue?


person Daniel Wolf    schedule 31.07.2011    source источник
comment
Где именно вы хотели бы использовать ILocationBinding? Из целевого класса или из аспекта? Что ты пытаешься сделать?   -  person Dustin Davis    schedule 31.07.2011


Ответы (1)


Привязка находится в LocationInterceptionArgs.Binding.

person Gael Fraiteur    schedule 17.09.2011
comment
Привет, Гаэль, я знаю, что привязка находится в LocationInterceptionArgs.Binding (см. мой вопрос). Вопрос в том, как мне получить экземпляр любого класса до того, как OnGetValue будет вызван в первый раз? - person Daniel Wolf; 19.09.2011
comment
В текущей версии это невозможно. Но другой подход — использовать [ImportMember]. См. doc.sharpcrafters.com/postsharp-2.1/Content.aspx/ для получения подробной информации. - person Gael Fraiteur; 14.04.2012