WebResult.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using GameFramework;
  2. namespace UGFExtensions.Await
  3. {
  4. /// <summary>
  5. /// web 访问结果
  6. /// </summary>
  7. public class WebResult : IReference
  8. {
  9. /// <summary>
  10. /// web请求 返回数据
  11. /// </summary>
  12. public byte[] Bytes { get; private set; }
  13. /// <summary>
  14. /// 是否有错误
  15. /// </summary>
  16. public bool IsError { get; private set; }
  17. /// <summary>
  18. /// 错误信息
  19. /// </summary>
  20. public string ErrorMessage { get; private set; }
  21. /// <summary>
  22. /// 自定义数据
  23. /// </summary>
  24. public object UserData { get; private set; }
  25. public static WebResult Create(byte[] bytes, bool isError, string errorMessage, object userData)
  26. {
  27. WebResult webResult = ReferencePool.Acquire<WebResult>();
  28. webResult.Bytes = bytes;
  29. webResult.IsError = isError;
  30. webResult.ErrorMessage = errorMessage;
  31. webResult.UserData = userData;
  32. return webResult;
  33. }
  34. public WebResult Init(byte[] bytes, bool isError, string errorMessage, object userData)
  35. {
  36. this.Bytes = bytes;
  37. this.IsError = isError;
  38. this.ErrorMessage = errorMessage;
  39. this.UserData = userData;
  40. return this;
  41. }
  42. public void Clear()
  43. {
  44. Bytes = null;
  45. IsError = false;
  46. ErrorMessage = string.Empty;
  47. UserData = null;
  48. }
  49. }
  50. }