Пример #1
0
        /// <summary>
        /// Creates Enumerable
        /// </summary>
        /// <param name="consumer">The data consumer</param>
        /// <param name="list">The input list</param>
        /// <param name="components"></param>
        /// <param name="dictionary">The dictionary of parameters</param>
        /// <returns>The list of log objects</returns>
        public static IEnumerable <object> CreateList(this IDataConsumer consumer, IEnumerable <object> list, IComponentCollection components,
                                                      out Dictionary <IReplacedMeasurementParameter, string> dictionary)
        {
            Dictionary <IReplacedMeasurementParameter, string> dict = new Dictionary <IReplacedMeasurementParameter, string>();
            List <object> ll = new List <object>();

            components.ForEach((IMeasurements m) =>
            {
                string name = consumer.GetMeasurementsName(m) + ".";
                for (int i = 0; i < m.Count; i++)
                {
                    IMeasurement me = m[i];
                    if (me is IReplacedMeasurementParameter)
                    {
                        dict[me as IReplacedMeasurementParameter] = name + me.Name;
                    }
                }
            });
            Dictionary <string, INativeReader> dnr = new Dictionary <string, INativeReader>();

            components.ForEach((INativeReader reader) =>
            {
                if (reader is IAssociatedObject)
                {
                    string name = (consumer as IAssociatedObject).GetRelativeName(
                        reader as IAssociatedObject);
                    dnr[name] = reader;
                }
            });
            Dictionary <string, INativeEvent> dna = new Dictionary <string, INativeEvent>();
            IAssociatedObject ao = consumer as IAssociatedObject;

            components.ForEach((INativeEvent ne) =>
            {
                dna[ao.GetRelativeName(ne as IAssociatedObject)] = ne;
            });
            dictionary = dict;
            return(consumer.CreateListPrivate(list, components, dictionary, dnr, dna));
        }