using System; namespace VisionCommon { public class UnitInfo { public eUnitId UnitId { get; set; } = eUnitId.None; public string UnitName { get; set; } = string.Empty; public UnitInfo(eUnitId unitId, string unitName) { UnitId = unitId; UnitName = unitName; } public UnitInfo Clone() { return new UnitInfo(UnitId, UnitName); } public string GetKey() { return CreateKey(UnitId); } public static string CreateKey(eUnitId unitId) { return $"{(int)unitId}"; } public override string ToString() { return $"{(int)UnitId}-{UnitName}"; } public override bool Equals(object obj) { return Equals(obj as UnitInfo); } public bool Equals(UnitInfo unitInfo) { if (unitInfo is null) { return false; } if (Object.ReferenceEquals(this, unitInfo)) { return true; } return this.UnitId == unitInfo.UnitId; } public override int GetHashCode() { return UnitId.GetHashCode(); } } }