コード例 #1
0
        /// <summary>
        /// Creates collection of components
        /// </summary>
        /// <param name="consumer">Data consumer</param>
        /// <param name="list">List of objects</param>
        /// <param name="action">Additional acton</param>
        /// <param name="priority">Priority</param>
        /// <param name="reason">Reason</param>
        /// <returns>Collection of components</returns>
        protected void CreateDataConsumerCollection(IDataConsumer consumer, List <object> list,
                                                    Action <object> action, int priority, string reason)
        {
            IList <object> ll = consumer.GetDependentObjects();

            foreach (object o in ll)
            {
                if (o is INamedComponent)
                {
                    action(o);
                    if (!list.Contains(o))
                    {
                        list.Add(o);
                    }
                    continue;
                }
                if (o is IAssociatedObject)
                {
                    IAssociatedObject ao = o as IAssociatedObject;
                    object            ob = ao.Object;
                    action(ob);
                    if (ob is INamedComponent)
                    {
                        if (!list.Contains(ob))
                        {
                            list.Add(ob);
                        }
                        continue;
                    }
                }
            }
        }