PLCResult.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. 
  2. //using Curtain.Framework.Collections;
  3. namespace Curtain.Net.Sockets.PLC
  4. {
  5. /// <summary>
  6. /// 返回结果
  7. /// </summary>
  8. public class PLCResult
  9. {
  10. /// <summary>
  11. /// 方法成功
  12. /// </summary>
  13. public bool Successed
  14. {
  15. get; set;
  16. } = true;
  17. //public object Result
  18. //{
  19. // get; set;
  20. //}
  21. /// <summary>
  22. /// 消息
  23. /// </summary>
  24. public string Message
  25. {
  26. get; set;
  27. }
  28. /// <summary>
  29. /// 消息明细
  30. /// </summary>
  31. public string MessageDetail
  32. {
  33. get; set;
  34. }
  35. /// <summary>
  36. /// 返回结果
  37. /// </summary>
  38. public PLCResult()
  39. {
  40. }
  41. /// <summary>
  42. /// 返回结果
  43. /// </summary>
  44. /// <param name="result">返回结果</param>
  45. public PLCResult(PLCResult result)
  46. {
  47. if (result == null)
  48. {
  49. return;
  50. }
  51. this.Successed = result.Successed;
  52. //this.Result = result.Result;
  53. this.Message = result.Message;
  54. this.MessageDetail = result.MessageDetail;
  55. }
  56. /// <summary>
  57. /// 设置返回结果
  58. /// </summary>
  59. /// <param name="result">返回结果</param>
  60. public void SetValue(PLCResult result)
  61. {
  62. if (result == null)
  63. {
  64. return;
  65. }
  66. this.Successed = result.Successed;
  67. //this.Result = result.Result;
  68. this.Message = result.Message;
  69. this.MessageDetail = result.MessageDetail;
  70. }
  71. /// <summary>
  72. ///
  73. /// </summary>
  74. /// <returns></returns>
  75. public override string ToString()
  76. {
  77. return $"PLCResult[{Successed}][{Message}]";
  78. }
  79. }
  80. /// <summary>
  81. /// 返回结果
  82. /// </summary>
  83. /// <typeparam name="T">扩展数据</typeparam>
  84. public class PLCResult<T> : PLCResult
  85. {
  86. /// <summary>
  87. /// 扩展数据
  88. /// </summary>
  89. public T Data
  90. {
  91. get; set;
  92. }
  93. /// <summary>
  94. /// 返回结果
  95. /// </summary>
  96. public PLCResult()
  97. : base()
  98. {
  99. }
  100. /// <summary>
  101. /// 返回结果
  102. /// </summary>
  103. /// <param name="result">返回结果</param>
  104. public PLCResult(PLCResult result)
  105. :base(result)
  106. {
  107. }
  108. /// <summary>
  109. /// 返回结果
  110. /// </summary>
  111. /// <param name="data">扩展数据</param>
  112. public PLCResult(T data)
  113. : base()
  114. {
  115. this.Data = data;
  116. }
  117. /// <summary>
  118. /// 返回结果
  119. /// </summary>
  120. /// <param name="result">返回结果</param>
  121. /// <param name="data">扩展数据</param>
  122. public PLCResult(PLCResult result, T data)
  123. :base(result)
  124. {
  125. this.Data = data;
  126. }
  127. /// <summary>
  128. ///
  129. /// </summary>
  130. /// <returns></returns>
  131. public override string ToString()
  132. {
  133. //return $"PLCResult[{Successed}][{(Successed ? Data + "" : Message)}]";
  134. return $"PLCResult[{Successed}][{Data}][{Message}][{MessageDetail}]";
  135. }
  136. }
  137. /*
  138. /// <summary>
  139. /// 返回结果
  140. /// </summary>
  141. public class PLCResults : PLCResult
  142. {
  143. /// <summary>
  144. /// 扩展属性
  145. /// </summary>
  146. public Attributes Attributes
  147. {
  148. get;
  149. set;
  150. } = new Attributes();
  151. /// <summary>
  152. /// 返回结果
  153. /// </summary>
  154. public PLCResults()
  155. : base()
  156. {
  157. }
  158. /// <summary>
  159. /// 返回结果
  160. /// </summary>
  161. /// <param name="result">返回结果</param>
  162. public PLCResults(PLCResult result)
  163. : base(result)
  164. {
  165. }
  166. }
  167. */
  168. /*
  169. /// <summary>
  170. /// 返回结果
  171. /// </summary>
  172. /// <typeparam name="T">扩展数据</typeparam>
  173. public class PLCResults<T> : PLCResults
  174. {
  175. /// <summary>
  176. /// 扩展数据
  177. /// </summary>
  178. public T Data
  179. {
  180. get; set;
  181. }
  182. /// <summary>
  183. /// 返回结果
  184. /// </summary>
  185. public PLCResults()
  186. : base()
  187. {
  188. }
  189. /// <summary>
  190. /// 返回结果
  191. /// </summary>
  192. /// <param name="result">返回结果</param>
  193. public PLCResults(PLCResult result)
  194. : base(result)
  195. {
  196. }
  197. /// <summary>
  198. /// 返回结果
  199. /// </summary>
  200. /// <param name="data">扩展数据</param>
  201. public PLCResults(T data)
  202. : base()
  203. {
  204. this.Data = data;
  205. }
  206. /// <summary>
  207. /// 返回结果
  208. /// </summary>
  209. /// <param name="result">返回结果</param>
  210. /// <param name="data">扩展数据</param>
  211. public PLCResults(PLCResult result, T data)
  212. : base(result)
  213. {
  214. this.Data = data;
  215. }
  216. }
  217. */
  218. }