/// <summary> /// The get fimware information. /// </summary> /// <param name="fimwareAssembly"> /// The assembly file. /// </param> /// <returns> /// The <see cref="FirmwareInformation"/>. /// </returns> public static IFirmwareInformation GetFimwareInformation(string fimwareAssembly) { IFirmwareInformation firmware = null; try { if (File.Exists(fimwareAssembly)) { var assembly = Assembly.LoadFrom(fimwareAssembly); var instances = from t in assembly.GetTypes() where t.GetInterfaces().Contains(typeof(IFirmwareInformation)) && t.GetConstructor(Type.EmptyTypes) != null select Activator.CreateInstance(t) as IFirmwareInformation; foreach (var instance in instances) { firmware = instance.GetFirmwareInformation(); break; } } } catch (Exception) { return(firmware); } return(firmware); }
/// <summary> /// The clone. /// </summary> /// <param name="firmware"> /// The firmware. /// </param> public void Clone(IFirmwareInformation firmware) { if (firmware != null) { this.BuildNumber = firmware.BuildNumber; this.Name = firmware.Name; this.Version = firmware.Version; this.AdditionalInformation.Clear(); foreach (var addInfo in firmware.AdditionalInformation) { this.AdditionalInformation.Add(new IFirmwareAddInformationItem { Key = addInfo.Key, Value = addInfo.Value }); } } else { this.BuildNumber = string.Empty; this.Name = string.Empty; this.Version = string.Empty; this.AdditionalInformation.Clear(); } }