internal JsonRpcParameter(JsonRpcParameterBuilder builder, JsonRpcMethod method) { Debug.Assert(builder != null); Debug.Assert(builder.Position >= 0); Debug.Assert(method != null); _name = builder.Name; _parameterType = builder.ParameterType; _position = builder.Position; _isParamArray = builder.IsParamArray; _method = method; }
private static void BuildParameter(JsonRpcParameterBuilder builder, ParameterInfo parameter) { Debug.Assert(parameter != null); Debug.Assert(builder != null); builder.Name = parameter.Name; builder.ParameterType = parameter.ParameterType; builder.Position = parameter.Position; builder.IsParamArray = parameter.IsDefined(typeof(ParamArrayAttribute), true); // // Build via attributes. // object[] attributes = parameter.GetCustomAttributes(typeof(IParameterReflector), true); foreach (IParameterReflector reflector in attributes) reflector.Build(builder, parameter); }
public JsonRpcParameterBuilder DefineParameter() { JsonRpcParameterBuilder builder = new JsonRpcParameterBuilder(this); builder.Position = Parameters.Count; Parameters.Add(builder); return builder; }
public void Init() { _methodBuilder = (new JsonRpcServiceClassBuilder()).DefineMethod(); _builder = _methodBuilder.DefineParameter(); }