2009-06-25 3 views
2

사용자 지정 개체의 배열이 있습니다. MyCustomArr []. System.Array로만 변환하여 System.Array 만 허용하는 메서드로 전달할 수 있습니다. 메서드의 서명은 다음과 같습니다.C#에서 사용자 지정 개체 배열을 System.Array로 변환

public void Load(Array param1, string param2) 
{ 

} 
+0

시도한 내용과 그 시도의 결과가 무엇인지 명시하지 않았습니다. 컴파일 오류가 발생 했습니까? 런타임 예외? 기타 유용한 정보. 나는 당신이 쓴 것보다 더 많은 질문이 있다고 생각합니다. 그러나 당신이 상세하고 유용한 정보를 제공하지 않는다면, 아무도 당신을 위해 많은 것을 할 수 없습니다. – abelenky

답변

8

내가 아는 한 변환 할 필요가 없습니다. 간단하게 배열을 메서드에 전달할 수 있습니다. 다음 코드는 잘 작동합니다 :

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

당신은 그냥 캐스팅 할 수 있어야하지만 이것은 암시 적으로 수행 될 것입니다.

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

배열로 무엇을 하시겠습니까? 아래의 코드가 작성되어 실행되므로 문제가있는 곳을 잘 모르겠습니다.

 

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()); 
    } 
} 
 
관련 문제