私はカスタムオブジェクトの配列を持っています。 MyCustomArr []。これをSystem.Arrayに変換して、System.Arrayだけを受け入れるメソッドに渡すことができます。メソッドのシグネチャは次のとおりです。カスタムオブジェクト配列をC#のSystem.Arrayに変換します
public void Load(Array param1, string param2)
{
}
私はカスタムオブジェクトの配列を持っています。 MyCustomArr []。これをSystem.Arrayに変換して、System.Arrayだけを受け入れるメソッドに渡すことができます。メソッドのシグネチャは次のとおりです。カスタムオブジェクト配列をC#のSystem.Arrayに変換します
public void Load(Array param1, string param2)
{
}
私が知る限り、変換は必要ありません。単純に配列にメソッドを渡すことができます。次のコードはうまくいきます:
MyClass[] myClassArray = new MyClass[2];
myClassArray[0] = new MyClass();
myClassArray[1] = new MyClass();
Load(myClassArray, "some text");
あなたはそれをキャストできるはずですが、これは暗黙のうちに行われると思います。
System.Array array = (System.Array)(new int[] { 1, 2, 3, 4 });
アレイで何をしたいですか?以下のコードはビルドされて実行されているため、あなたの問題がどこにあるのか分かりません。
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());
}
}
あなたはあなたの試した結果とその試行結果を何も示していません。コンパイルエラーがありましたか?実行時の例外?その他の有用な情報私は、あなたが書いた以上にあなたの質問にはより多くのものがあると思います。しかし、あなたが詳細で役立つ情報を提供しない限り、ここで誰もあなたのために多くを行うことはできません。 – abelenky