DataItem.cs 743 B

12345678910111213141516171819202122232425262728293031323334353637
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Aitex.Core.RT.Log;
  6. namespace Aitex.Core.RT.DataCenter
  7. {
  8. public class DataItem<T>
  9. {
  10. readonly Func<T> _getter;
  11. public DataItem(Func<T> getter)
  12. {
  13. if (getter == null)
  14. throw new ArgumentNullException("getter");
  15. _getter = getter;
  16. }
  17. public T Value
  18. {
  19. get
  20. {
  21. try
  22. {
  23. return _getter.Invoke();
  24. }
  25. catch (Exception ex)
  26. {
  27. LOG.Write(ex);
  28. }
  29. return default(T);
  30. }
  31. }
  32. }
  33. }