123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- namespace JsonRPC4.Common
- {
- public class RpcError
- {
- public int Code
- {
- get;
- }
- public string Message
- {
- get;
- }
- public object Data
- {
- get;
- }
- public Type DataType
- {
- get;
- }
- public RpcError(RpcErrorCode code, string message, object data = null)
- : this((int)code, message, data)
- {
- }
- public RpcError(int code, string message, object data = null)
- {
- if (string.IsNullOrWhiteSpace(message))
- {
- throw new ArgumentNullException("message");
- }
- Code = code;
- Message = message;
- Data = data;
- DataType = data?.GetType();
- }
- public RpcException CreateException()
- {
- return new RpcException(Code, Message, null, Data);
- }
- }
- public class RpcError<T> : RpcError
- {
- public new T Data => (T)base.Data;
- public RpcError(RpcErrorCode code, string message, T data)
- : base(code, message, data)
- {
- }
- public RpcError(int code, string message, T data)
- : base(code, message, data)
- {
- }
- }
- }
|