aop eventinterceptionaspect postsharp - PullRequest
1 голос
/ 26 июля 2011

Что было бы наилучшей практикой для реализации функции сохранения / восстановления макета для каждого элемента управления DeveloperExpress XtraGrid в моем приложении. Я использую множество визуальных элементов Grid для каждой winform в моем приложении (GridControl, LookUpEdit, SearchLookUpEdit ...), и в настоящее время я опрашиваю каждую winform с помощью событий загрузки / выгрузки, которые вызывают функцию сохранения / восстановления для каждого элемента Grid в этой форме вручную. У меня уже есть метод расширения, который делает сохранение / восстановление гридов делом одного вызова функции. Теперь я хочу иметь один централизованный класс, в котором я бы позаботился о сохранении / восстановлении каждого типа сетки в моем приложении.

Я новичок в aop, но можно ли что-то подобное сделать с такими инструментами, как postsharp и глобальным аспектом eventinterception, где события load / unload будут применяться к каждому типу Grid, который инициализируется в моей сборке?

1 Ответ

0 голосов
/ 26 июля 2011

Да, вы можете перехватывать события, используя PostSharp. Вы можете проверить следующую статью, чтобы получить краткий обзор http://www.sharpcrafters.com/blog/post/PostSharp-Principals-Day-11-e28093-Interception-e28093-Part-3.aspx

Вы можете создать аспект, который просто вызывает ваши методы расширения, когда происходит событие. Аспекты могут применяться глобально, чтобы сэкономить некоторую работу с помощью многоадресной рассылки http://www.sharpcrafters.com/blog/post/Day-2-Applying-Aspects-with-Multicasting-Part-1.aspx http://www.sharpcrafters.com/blog/post/Day-3-Applying-Aspects-with-Multicasting-Part-2.aspx

...