2011-12-19 17 views
10

मुझे अपनी विधि में पारित पैरामीटर्स के साथ कुछ सामान करने की ज़रूरत है। PostSharp का उपयोग करके मैं उनके साथ कैसे खेल सकता हूं (संशोधित)?PostSharp का उपयोग करके विधि तर्कों को कैसे संशोधित करें?

उत्तर

17

विधि निवारण का उपयोग करके, आप SetArgument विधि के माध्यम से मानों को बदलने के लिए Args.Arguments ऑब्जेक्ट का उपयोग कर सकते हैं।

[Serializable] 
public class MyAspect : MethodInterceptionAspect 
{ 
    public override void OnInvoke(MethodInterceptionArgs args) 
    { 
     string input = (string)args.Arguments[0]; 

     if (input.Equals("123")) 
     { 
      args.Arguments.SetArgument(0, " 456"); 
     } 

     args.Proceed(); 
    }  
} 
+4

पोस्टशहर गुरु को +1;) –

संबंधित मुद्दे