У меня есть массив пользовательских объектов. MyCustomArr []. Я хочу преобразовать его в System.Array, чтобы передать его методу, который принимает только System.Array. Подпись метода:
public void Load(Array param1, string param2)
{
}
Для меня не требуется преобразование, насколько я знаю. Вы можете просто перейти и передать свой массив методу. Следующий код работает хорошо:
MyClass[] myClassArray = new MyClass[2];
myClassArray[0] = new MyClass();
myClassArray[1] = new MyClass();
Load(myClassArray, "some text");
Что вы хотите сделать с массивом? Код ниже строит и запускает, поэтому я не уверен, где ваша проблема:
public class MyClass
{
public class MyObject
{
}
public static void RunSnippet()
{
MyObject[] objects = new MyObject[5];
Test(objects);
}
private static void Test(System.Array obj)
{
System.Console.WriteLine("Count: " + obj.Length.ToString());
}
}
Вы должны просто использовать его, но я думаю, что это будет сделано неявно для вас.
System.Array array = (System.Array)(new int[] { 1, 2, 3, 4 });