사용자 지정 개체의 배열이 있습니다. 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