Решение Тимви должно работать нормально.Вы можете сделать что-то немного проще, используя Linq:
object[] newArray = sourceArray.Cast<object>().ToArray();
В случае, если вам нужно воссоздать System.Object[*]
для передачи его обратно в VFP, вы можете использовать эту перегрузку из Array.CreateInstance
метод:
public static Array CreateInstance(
Type elementType,
int[] lengths,
int[] lowerBounds
)
Вы можете использовать его следующим образом:
object[] normalArray = ...
// create array with lower bound of 1
Array arrayStartingAt1 =
Array.CreateInstance(
typeof(object),
new[] { normalArray.Length },
new[] { 1 });
Array.Copy(normalArray, 0, arrayStartingAt1, 1, normalArray.Length);