示例#1
0
        public IBehavior Add(IBehavior behavior)
        {
            //validate
            if (behavior == null)
            {
                return(behavior);
            }

            //add or replace
            _behaviors.AddOrUpdate(behavior.GetType(), behavior, (i, e) => { RemoveDisable(e); return(behavior); });

            //enable
            behavior.Enable(_arm);

            //add workflow
            AddWorkflow(behavior as IWorkflow);

            return(behavior);
        }