public SyncMethodInfoRpcOperation(Func <object> instanceProvider, MethodInfo method, string procedureName) : base(procedureName) { mInstanceProvider = instanceProvider; mMethod = method; mMethodInvoker = MethodInvokeGenerator.CreateInvokeMethod(method); if (method.ReturnType != typeof(void)) { mHasResult = true; } else { mHasResult = false; } mCollectionResultTreatment = method.GetCollectionResultTreatment(); mHelper = new MethodInfoHelper(method); mParameters = method.GetParameters() .Where(x => !x.IsOut) .Select(parameter => new RpcParameter(parameter)) .ToArray(); mResultExtractor = WampResultExtractor.GetResultExtractor(this); if (method.ReturnsTuple()) { mResultExtractor = WampResultExtractor.GetValueTupleResultExtractor(method); } }
public SyncMethodInfoRpcOperation(object instance, MethodInfo method, string procedureName) : base(procedureName) { mInstance = instance; mMethod = method; mMethodInvoker = MethodInvokeGenerator.CreateInvokeMethod(method); if (method.ReturnType != typeof(void)) { mHasResult = true; } else { mHasResult = false; } mCollectionResultTreatment = method.GetCollectionResultTreatment(); mHelper = new MethodInfoHelper(method); mParameters = method.GetParameters() .Where(x => !x.IsOut) .Select(parameter => new RpcParameter(parameter)) .ToArray(); }