2010-03-13 15 views
5

mi piacerebbe l'aspetto per uscire da un'invocazione metodo basato su una condizione simile al seguente:Come uscire un metodo nel metodo OnEntry di un aspetto PostSharp in base alla condizione

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

Qualsiasi aiuto molto apprezzato.

risposta

9

Ok l'ho capito da solo. Ecco la soluzione per il beneficio di tutti:

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

Esattamente. È anche possibile impostare il valore di ritorno (eventArgs.ReturnValue). –

+0

Hi Gael, Ciò significa che il metodo richiamato restituisce implicitamente immediatamente se imposto la proprietà del valore restituito? –

Problemi correlati