HikvisionException.cs 840 B

1234567891011121314151617181920212223242526272829
  1. using System;
  2. using System.ComponentModel;
  3. using System.Reflection;
  4. namespace QuickNV.HikvisionNetSDK
  5. {
  6. public class HikvisionException : Exception
  7. {
  8. private string _Message;
  9. public uint ErrorCode { get; }
  10. public override string Message => _Message;
  11. public HikvisionException(uint errorCode)
  12. {
  13. ErrorCode = errorCode;
  14. _Message = GetEnumDescription((Errors)ErrorCode);
  15. }
  16. private static string GetEnumDescription(Errors value)
  17. {
  18. string val = value.ToString();
  19. FieldInfo fi = value.GetType().GetField(val);
  20. val = fi.GetCustomAttribute<DescriptionAttribute>()?.Description;
  21. if (string.IsNullOrEmpty(val))
  22. val = value.ToString();
  23. return val;
  24. }
  25. }
  26. }