2009-06-25 6 views
2

J'ai un tableau d'objets personnalisés. MyCustomArr []. Je veux convertir ceci en System.Array afin que je puisse le passer à une méthode qui accepte seulement System.Array. La signature de la méthode est:Convertir un tableau d'objets personnalisé en System.Array en C#

public void Load(Array param1, string param2) 
{ 

} 
+0

Vous n'avez pas déclaré ce que vous avez essayé, et ce que les résultats de ces tentatives étaient. Avez-vous eu des erreurs de compilation? exceptions d'exécution? d'autres informations utiles. Je pense qu'il y a plus à votre question que vous avez écrit. Mais à moins de fournir des informations détaillées et utiles, personne ici ne peut faire grand chose pour vous. – abelenky

Répondre

8

Aucune conversion n'est nécessaire pour autant que je sache. Vous pouvez simplement aller de l'avant et passer votre tableau à la méthode. Le code suivant fonctionne bien:

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

Vous devriez juste être en mesure de le lancer, mais je pense que cela sera fait implicitement pour vous.

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

Que voulez-vous faire avec la baie? Le code ci-dessous construit et s'exécute, donc je ne suis pas sûr où votre problème réside:

 

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