2012-09-12 2 views
0

그래서 나는 모든 BaseClass로 상속 객체의 배열을 반복하기 위해 노력하고있어, 내 코드는 다음과 같습니다 ChildClass에와 OtherChildClass는 BaseClass로 상속 분명히 다형성이있는 foreach를 사용하면 참조 예외가 발생합니까?

ChildClass object1 = new ChildClass(); 
OtherChildClass object2 = new OtherChildClass(); 
BaseClass array[] = {object1, object2} 

foreach(BaseClass element in array) 
{ 
    //do stuff 
} 

. ==========================================================================================================================================================================

foreach가 정확히 기본 클래스가 아니기 때문에 foreach가 배열의 항목을 선택하지 않는 것처럼 보입니다. 그러나이를 해결하는 방법을 모릅니다.

+6

아니요, 실제로 그렇게하지 않습니다. 문제를 시연하는 짧지 만 완전한 프로그램을 생각해 내고 문제가 어디에 있는지 알게 될 것입니다. –

답변

1

야생 추측 : 실행중인 코드가 위에서 작성한 코드가 아닙니다. 배열 선언으로 컴파일되지 않습니다 위 가지고있는 코드는 할 필요가 :

BaseClass[] array = {object1, object2}; 

이 시도하고,이 clean 또는 rebuild 단계를 수행하는 것이주십시오.

관련 문제