IDataChangeCallback_t.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace IACommService4CSharp
  7. {
  8. public abstract class IDataChangeCallback_t : IDataChangeCallback4CSharp
  9. {
  10. public IDataChangeCallback_t()
  11. {
  12. }
  13. ~IDataChangeCallback_t()
  14. {
  15. }
  16. //Internal use
  17. public override void DataChange(uint handler, string[] addresses, IDataItem4CSharp[] dataItems)
  18. {
  19. List<string> addressList = new List<string> { };
  20. List<DataItem_t> dataItemList = new List<DataItem_t> { };
  21. for (int index = 0; index < dataItems.Length; index++)
  22. {
  23. if (null == dataItems[index])
  24. continue;
  25. addressList.Add(addresses[index]);
  26. dataItemList.Add(new DataItem_t(dataItems[index]));
  27. }
  28. DataChange(addressList.ToArray(), dataItemList.ToArray());
  29. }
  30. public abstract void DataChange(string[] addresses, DataItem_t[] dataItems);
  31. }
  32. }