示例#1
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="names">Names</param>
        /// <param name="consumer">Consumer</param>
        /// <param name="disassembly">Disassembly</param>
        public DisassemblyWrapper(IEnumerable <string> names, IDataConsumer consumer,
                                  IDisassemblyObject disassembly)
        {
            Dictionary <IMeasurement, MeasurementsDisasseblyWrapper> d =
                consumer.CreateDisassemblyMeasurements(disassembly);
            Dictionary <string, IMeasurement> measurements = consumer.GetAllMeasurementsByName();

            foreach (string key in measurements.Keys)
            {
                if (names.Contains(key))
                {
                    IMeasurement measurement = measurements[key];
                    if (d.ContainsKey(measurement))
                    {
                        string s = key + ".";
                        MeasurementsDisasseblyWrapper wr = d[measurement];
                        l.Add(wr);
                        IMeasurement[] mea = wr.Measurements;
                        foreach (IMeasurement mm in mea)
                        {
                            dictionary[s + mm.Name] = mm;
                        }
                        continue;
                    }
                    dictionary[key] = measurement;
                }
            }
        }