/// <summary> /// Box an entire array of type elements into an array of boxed elements. /// </summary> private static void CopyArray(Object source, Object destination, object defaultValue) { if (ReferenceEquals(source, null) && ReferenceEquals(destination, null)) { return; } var length = JArray.GetLength(source); for (var i = 0; i < length; i++) { // Boxing is done by Get. var value = JArray.Get(source, i) ?? defaultValue; JArray.Set(destination, i, value); } }
/// <summary> /// Box an entire array of type elements into an array of boxed elements. /// </summary> private static object ConvertArray(Type boxType, Object primitiveArray, object defaultValue) { if (ReferenceEquals(primitiveArray, null)) { return(null); } var length = JArray.GetLength(primitiveArray); var array = JArray.NewInstance(boxType, length); for (var i = 0; i < length; i++) { // Boxing is done by Get. var value = JArray.Get(primitiveArray, i) ?? defaultValue; JArray.Set(array, i, value); } return(array); }