我有一系列自定义对象。 MyCustomArr []。我想将其转换为System.Array,以便我可以将它传递给只接受System.Array的方法。该方法的签名是:
public void Load(Array param1, string param2)
{
}
答案 0 :(得分:8)
据我所知,不需要转换。您可以直接将数组传递给方法。以下代码效果很好:
MyClass[] myClassArray = new MyClass[2];
myClassArray[0] = new MyClass();
myClassArray[1] = new MyClass();
Load(myClassArray, "some text");
答案 1 :(得分:1)
你想对阵列做什么?下面的代码构建并运行,所以我不确定你的问题在哪里:
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());
}
}
答案 2 :(得分:0)
你应该能够施展它,但我认为这将隐式为你完成。
System.Array array = (System.Array)(new int[] { 1, 2, 3, 4 });