简体   繁体   中英

Convert a custom object array to System.Array in C#

I have an array of custom objects. MyCustomArr[]. I want to convert this to System.Array so that I can pass it to a method that accepts only System.Array. The signature of the method is:

public void Load(Array param1, string param2)
{

}

No conversion is needed for that as far as I know. You can simply go ahead and pass your array to the method. The following code works out well:

MyClass[] myClassArray = new MyClass[2];
myClassArray[0] = new MyClass();
myClassArray[1] = new MyClass();
Load(myClassArray, "some text");

What do you want to do with the array? The code below builds and runs, so I'm not sure where your problem lies:


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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM