internal RpcPropertyInfo( RpcServiceInfo service, PropertyInfo propertyInfo, ServiceOperationReturnKind propertyTypeKind, Type responseReturnType, ImmutableArray <object> metadata) : base(propertyInfo?.Name !, service, propertyInfo !, metadata)
internal RpcOperationInfo(string name, RpcServiceInfo service, MemberInfo declaringMember, MethodInfo method, RpcMethodType methodType, bool isAsync, ImmutableArray <RpcRequestParameter> requestParameters, int?callbackParameterIndex, int?cancellationTokenIndex, Type returnType, Type responseReturnType, Type requestType, Type responseType, ServiceOperationReturnKind returnKind, bool allowInlineExecution, ImmutableArray <object> metadata) : base(name, service, declaringMember, metadata) { this.Method = method ?? throw new ArgumentNullException(nameof(method)); this.MethodType = methodType; this.IsAsync = isAsync; this.RequestParameters = !requestParameters.IsDefault ? requestParameters : throw new ArgumentNullException(nameof(requestParameters)); this.CallbackParameterIndex = callbackParameterIndex; this.CancellationTokenIndex = cancellationTokenIndex; this.ReturnType = returnType ?? throw new ArgumentNullException(nameof(returnType)); this.ResponseReturnType = responseReturnType ?? throw new ArgumentNullException(nameof(responseReturnType)); this.RequestType = requestType ?? throw new ArgumentNullException(nameof(requestType)); this.ResponseType = responseType ?? throw new ArgumentNullException(nameof(responseType)); this.ReturnKind = returnKind; this.AllowInlineExecution = allowInlineExecution; }