Jayrock.Json.Conversion.ObjectConstructor.Bind C# (CSharp) Method

Bind() private static method

Bound indicies returned in the resulting array are one-based therefore zero means unbound.
private static Bind ( Jayrock.Json.Conversion.ImportContext context, ParameterInfo parameters, NamedJsonBuffer members ) : int[]
context Jayrock.Json.Conversion.ImportContext
parameters System.Reflection.ParameterInfo
members NamedJsonBuffer
return int[]
        private static int[] Bind(ImportContext context, ParameterInfo[] parameters, NamedJsonBuffer[] members)
        {
            if (context == null) throw new ArgumentNullException("context");
            if (parameters == null) throw new ArgumentNullException("parameters");
            if (members == null) throw new ArgumentNullException("members");

            int[] bindings = new int[members.Length];

            for (int i = 0; i < parameters.Length; i++)
            {
                ParameterInfo parameter = parameters[i];

                if (parameter == null)
                    throw new ArgumentException(null, "parameters");

                int mi = FindMember(members, parameter.Name);

                if (mi >= 0)
                    bindings[mi] = i + 1;
            }

            return bindings;
        }