Esempio n. 1
0
            public Activity Incorporate(IAspect aspect)
            {
                var _advising = aspect.Advise(this.Method);

                if (_advising == null)
                {
                    return(this);
                }
                var _activity = this;

                foreach (var _advice in _advising.Reverse())
                {
                    if (_advice == null)
                    {
                        continue;
                    }
                    _activity = new Activity(_activity, _advice.Decorate(_activity.Method, _activity.Pointer));
                }
                return(_activity);
            }