private Converter createConverter(Sensor sensor, Visualizer visualizer) { SensorAttribute sensorAttribute = (SensorAttribute)sensor.GetType().GetCustomAttribute(typeof(SensorAttribute)); Type converterType = converterTypes[sensorAttribute.unit]; ConverterAttribute converterAttribute = (ConverterAttribute)converterType.GetCustomAttribute(typeof(ConverterAttribute)); visualizer.Unit = converterAttribute.output; return((Converter)Activator.CreateInstance(converterType, sensor, visualizer)); }
private void findConverters() { foreach (Type converterType in typeof(Converter).Assembly.GetTypes()) { ConverterAttribute converterAttribute = (ConverterAttribute)converterType.GetCustomAttribute(typeof(ConverterAttribute)); if (converterAttribute != null) { converterTypes.Add(converterAttribute.input, converterType); } } }
public void AddSensor(Sensor sensor) { if (sensor != null) { Visualizer visualizer = createVisualizer(sensor); if (IsConverterRequired(sensor, visualizer)) { visualizer = createConverter(sensor, visualizer); ConverterAttribute converterAttribute = (ConverterAttribute)visualizer.GetType().GetCustomAttribute(typeof(ConverterAttribute)); } dictSensorsVisualizer.Add(sensor, visualizer); } }