public static void Add(string name, MethodTuple methodTuple) { if (string.IsNullOrEmpty(name)) { throw new ArgumentException("message", nameof(name)); } if (methodTuple == null) { throw new ArgumentNullException(nameof(methodTuple)); } if (_dict.ContainsKey(name)) { Logger.Warn("已添加Name:" + name); return; } _dict.Add(name, methodTuple); }
public static MethodTuple CreateMethodTuple <T>(Expression <T> expression) { if (expression == null) { throw new ArgumentNullException(nameof(expression)); } var method = MethodUtil.GetMethodInfo(expression); var response = method.GetCustomAttribute <RpcRequestAttribute>(); if (response == null) { throw new MissingAttributeException($"{method.Name}缺少{nameof(RpcRequestAttribute)}属性"); } var dge = CreateDelegate(expression); var methodTupe = new MethodTuple() { RpcMethod = response, Action = dge }; return(methodTupe); }