using System; using IwbZero.IwbBase; using IwbZero.ToolCommon.StringModel; namespace IwbZero.IwbDataQuery { public class IwbIdName : IIwbId { public IwbIdName(string pcId, string pcName) { Id = pcId; Name = pcName; } public override bool Equals(object poSource) { bool flag = false; if (poSource is IwbIdName name) { return (name.Id.UAndT() == Id.UAndT()); } if (poSource is string) { flag = poSource.ToString().UAndT() == Id.UAndT(); } return flag; } public static IwbIdName FromFullString(string pcString) { IwbIdName name = new IwbIdName("", ""); Array array = pcString.StrToArrayEx(":"); if (array.Length > 0) { name.Id = array.GetValue(0).ToString(); } if (array.Length > 1) { name.Name = array.GetValue(1).ToString(); } return name; } public override int GetHashCode() { // ReSharper disable once NonReadonlyMemberInGetHashCode return Id.GetHashCode(); } public override string ToString() { return Name; } public string FullString => (Id + ":" + Name); public string Id { get; set; } public string Name { get; set; } } }