ICaliData.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.IO;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace Uestc.Auto6.Dso.Hardware.Calibration.Data.Base
  8. {
  9. public interface ICaliData
  10. {
  11. CaliDataType DataType { get; }
  12. Int32 TotalBytes
  13. { get; }
  14. byte[] Serialize();
  15. private string CaliDataPath
  16. {
  17. get => AppDomain.CurrentDomain.BaseDirectory + @"CaliData\";
  18. }
  19. void Deserialize(byte[] content);
  20. /// <summary>
  21. /// 该函数只能在与Hardware同进程的函数中使用。
  22. /// </summary>
  23. void SaveToFile()
  24. {
  25. string fileName = CaliDataPath + DataType.ToString()+".bin";
  26. if (!Directory.Exists(CaliDataPath))
  27. Directory.CreateDirectory(CaliDataPath);
  28. if (File.Exists(fileName))
  29. File.Delete(fileName);
  30. File.WriteAllBytes(fileName, Serialize());
  31. }
  32. /// <summary>
  33. /// 该函数只能在与Hardware同进程的函数中使用。
  34. /// </summary>
  35. /// <returns></returns>
  36. Boolean LoadFromFile()
  37. {
  38. string fileName = CaliDataPath + DataType.ToString() + ".bin";
  39. if (!File.Exists(fileName))
  40. return false;
  41. Deserialize(File.ReadAllBytes(fileName));
  42. return true;
  43. }
  44. /// <summary>
  45. /// 该函数只能在Tools中使用
  46. /// </summary>
  47. public void SaveToFile(string path)
  48. {
  49. string fileName = path + DataType.ToString() + ".bin";
  50. if (File.Exists(fileName))
  51. File.Delete(fileName);
  52. File.WriteAllBytes(fileName, Serialize());
  53. }
  54. /// <summary>
  55. /// 该函数只能在Tools中使用
  56. /// </summary>
  57. Boolean LoadFromFile(string path)
  58. {
  59. string fileName = path + DataType.ToString() + ".bin";
  60. if (!File.Exists(fileName))
  61. return false;
  62. Deserialize(File.ReadAllBytes(fileName));
  63. return true;
  64. }
  65. void LoadDefaultValue()
  66. {
  67. }
  68. }
  69. }