public object HandleCall(Puzzle.NAspect.Framework.MethodInvocation call)
        {
            if (call.Method.DeclaringType == typeof(IPersistentObject))
                return call.Proceed();

            string property = GetPropertyName(call);
            IPersistentObject managed = (IPersistentObject)call.Target;
            object res = managed.GetPropertyValue(property);
            call.Proceed ();
            return res;
        }
예제 #2
0
 public object HandleCall(Puzzle.NAspect.Framework.MethodInvocation call)
 {
     Console.WriteLine("Enter");
     object res= call.Proceed();
     Console.WriteLine("Exit");
     return res;
 }
 public object HandleCall(Puzzle.NAspect.Framework.MethodInvocation call)
 {
     Console.WriteLine("entering {0}", call.ValueSignature);
     object res = call.Proceed();
     Console.WriteLine("exiting {0} and returning '{1}'", call.ValueSignature,res);
     return res;
 }
 public object HandleCall(Puzzle.NAspect.Framework.MethodInvocation call)
 {
     object res = call.Proceed();
     ICanvasAware canvasAware = call.Target as ICanvasAware;
     if (canvasAware != null && canvasAware.Canvas != null)
     {
         canvasAware.Canvas.IsDirty = true;
     }
     return res;
 }
        public object HandleCall(Puzzle.NAspect.Framework.MethodInvocation call)
        {
            if (call.Method.DeclaringType == typeof(IPersistentObject))
                return call.Proceed();

            InterceptedParameter valueParameter = (InterceptedParameter)call.Parameters[0];

            string property = call.Method.Name.Substring(4);
            IPersistentObject managed = (IPersistentObject)call.Target;
            object res = call.Proceed();

            managed.SetReference(property, valueParameter.Value);

            if (!managed.Mute && !managed.Initializing)
                managed.Context.RegisterDirty(managed);

            managed.SetUnloaded(property, true);

            return res;
        }
        public object HandleCall(Puzzle.NAspect.Framework.MethodInvocation call)
        {
            InterceptedParameter stateParameter = (InterceptedParameter)call.Parameters[0];
            //get the context (state) param
            object state = stateParameter.Value;

            IPersistentObject managed = (IPersistentObject)call.Target;

            //assign the context to the target object
            managed.Context = (Context)state;

            Initialize(call.Target as IPersistentObject);

            object res = call.Proceed();

            CheckIntegrity();

            return res;
        }
예제 #7
0
 public object HandleCall(Puzzle.NAspect.Framework.MethodInvocation call)
 {
     Console.WriteLine("Entering : " + call.ValueSignature);
     return call.Proceed();
     Console.WriteLine("Returning from : " + call.ValueSignature);
 }