2 Stimmen

Konvertieren eines benutzerdefinierten Objekts Array zu System.Array in C #

Ich habe ein Array von benutzerdefinierten Objekten. MyCustomArr[]. Ich möchte es in System.Array konvertieren, damit ich es an eine Methode übergeben kann, die nur System.Array akzeptiert. Die Signatur der Methode ist:

public void Load(Array param1, string param2)
{

}

8voto

Fredrik Mörk Punkte 151006

Soweit ich weiß, ist dafür kein Umbau erforderlich. Sie können einfach weitermachen und Ihr Array an die Methode übergeben. Der folgende Code funktioniert gut:

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

1voto

JMarsch Punkte 21084

Was wollen Sie mit dem Array machen? Der nachstehende Code wird erstellt und ausgeführt, daher bin ich nicht sicher, wo Ihr Problem liegt:

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

0voto

Bob Punkte 93584

Sie sollten es einfach werfen können, aber ich denke, das wird implizit für Sie getan.

System.Array array = (System.Array)(new int[] { 1, 2, 3, 4 });

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X