2017-01-07 9 views
0

Я ищу, чтобы добавить свой аспект в пространство имен system.io, я уже просматриваю множество решений, которые не выполняли трюк, но в основном я хочу обрабатывать исключения и делать некоторые записи в классе File из пространства имен System.IO. Так же, как добавление [MyAspect] в начало класса.Добавить PostSharp Aspect в пространство имен System.IO?

Есть ли способ?

ответ

0

Давайте рассмотрим аспект, как это:

[PSerializable] 
public class MyAspect : OnMethodBoundaryAspect 
{ 
    public override void OnEntry(MethodExecutionArgs args) 
    { 
    } 
} 

Вы можете применить этот аспект к любому 3 сборке, вызываемой из вашего проекта путем применения MyAspect:

[assembly: MyAspect(AttributeTargetAssemblies = "mscorlib", AttributeTargetTypes = "System.IO.*")] 

При указании атрибута этой сборки затем PostSharp декорирует все вызовы из вашего проекта в методы из System.IO namespace в mscorlib сборка с MyAspect.

+0

Спасибо за ваш ответ, я пробовал эту пару дней назад. оно работает! Вы знаете, как я могу повлиять на пространство имен системы WHOLE, но исключить класс Console? –

+0

Я узнал, как это сделать, используя AttributeExclude = true и используя AttributePriority, но im все равно остается с исключением stackoverflow, так как мой аспект добавляется к себе или что-то в этом роде. Время для нового вопроса. –

 Смежные вопросы

  • Нет связанных вопросов^_^