IwbIdName.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using IwbZero.IwbBase;
  3. using IwbZero.ToolCommon.StringModel;
  4. namespace IwbZero.IwbDataQuery
  5. {
  6. public class IwbIdName : IIwbId
  7. {
  8. public IwbIdName(string pcId, string pcName)
  9. {
  10. Id = pcId;
  11. Name = pcName;
  12. }
  13. public override bool Equals(object poSource)
  14. {
  15. bool flag = false;
  16. if (poSource is IwbIdName name)
  17. {
  18. return (name.Id.UAndT() == Id.UAndT());
  19. }
  20. if (poSource is string)
  21. {
  22. flag = poSource.ToString().UAndT() == Id.UAndT();
  23. }
  24. return flag;
  25. }
  26. public static IwbIdName FromFullString(string pcString)
  27. {
  28. IwbIdName name = new IwbIdName("", "");
  29. Array array = pcString.StrToArrayEx(":");
  30. if (array.Length > 0)
  31. {
  32. name.Id = array.GetValue(0).ToString();
  33. }
  34. if (array.Length > 1)
  35. {
  36. name.Name = array.GetValue(1).ToString();
  37. }
  38. return name;
  39. }
  40. public override int GetHashCode()
  41. {
  42. // ReSharper disable once NonReadonlyMemberInGetHashCode
  43. return Id.GetHashCode();
  44. }
  45. public override string ToString()
  46. {
  47. return Name;
  48. }
  49. public string FullString => (Id + ":" + Name);
  50. public string Id { get; set; }
  51. public string Name { get; set; }
  52. }
  53. }