2010-03-13 3 views
5

에 따라 PostSharp 측면의 OnEntry 방법에 방법을 종료하는 방법은 다음과 같은 조건에 따라 메소드 호출을 종료하려면 화면을 싶습니다는 조건

[AttributeUsage(AttributeTargets.Method)] 
    public class IgnoreIfInactiveAttribute : OnMethodBoundaryAspect 
    { 
     public override void OnEntry(MethodExecutionEventArgs eventArgs) 
     { 
      if (condition) 
      { 
       **// How can I make the method return here?** 
      } 
     } 
    } 

어떤 도움을 많이 감사합니다.

답변

9

좋아요. 알아 냈습니다. 여기에 모든 사람들을위한 솔루션 :

[AttributeUsage(AttributeTargets.Method)] 
    public class IgnoreIfInactiveAttribute : OnMethodBoundaryAspect 
    { 
     public override void OnEntry(MethodExecutionEventArgs eventArgs) 
     { 
      if (condition) 
      { 
       eventArgs.FlowBehavior = FlowBehavior.Return; 
      } 
     } 
    } 
+0

정확히. 반환 값 (eventArgs.ReturnValue)을 설정할 수도 있습니다. –

+0

안녕 Gael, 반환 값 속성을 설정하면 호출 된 메서드가 암시 적으로 즉시 반환된다는 의미입니까? –