在C#中将自定义对象数组转换为System.Array

时间:2009-06-25 16:55:02

标签: c# .net

我有一系列自定义对象。 MyCustomArr []。我想将其转换为System.Array,以便我可以将它传递给只接受System.Array的方法。该方法的签名是:

public void Load(Array param1, string param2)
{

}

3 个答案:

答案 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 });