2017-01-07 2 views
0

내 aspect를 system.io 네임 스페이스에 추가하려고 할 때 이미 트릭을하지 않은 많은 솔루션을 검색하지만 기본적으로 예외를 처리하고 System.IO 네임 스페이스의 File 클래스에서 일부 로깅을 수행하려고합니다. [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 네임 스페이스 mscorlib 어셈블리의 메서드 호출에 대한 호출은 모두 MyAspect입니다.

+0

답장을 보내 주셔서 감사합니다. 저는 며칠 전에이 시험을 보았습니다. 작동! 내가 어떻게 전체 시스템 네임 스페이스에 영향을 미칠 수 있지만 콘솔 클래스는 제외시킬 수 있는지 알고 있습니까? –

+0

AttributeExclude = true를 사용하고 AttributePriority를 ​​사용하는 방법을 알았지 만 여전히 내 측면과 같은 stackoverflow 예외가 남았습니다. 새로운 질문이 생깁니다. –