비슷한 스레드를 살펴 보았는데 모두 C++과 관련이 있으므로 그냥 물어 보는 것보다는 물어 보는 것이 더 낫다고 생각합니다.기본 클래스 배열에서 파생 클래스 필드에 액세스하는 방법?
foo[] fooArray = new foo[5];
fooArray[2] = new bar();
이 foo
이 더 변수/방법과 사용자 정의 클래스라고 말할 : 나는 예를 들어,이 코드가
public class foo
{
}
가 그 bar
는 foo
에서 파생 된 사용자 정의 클래스입니다 :
public class bar : foo
{
int fooBar = 0;
}
내 fooArray
에 의 변수 fooBar
에 액세스해야합니다. 이지만 변수가 기본 클래스에 나타나지 않으므로 foo
의 배열에는 나타나지 않습니다. 내가 접근 할 수있는 방법이 있습니까?
편집 : 응용 프로그램 코드에서 foo와 bar는 필요한 생성자 및 기타 설정을 갖습니다.
fooArray[2] = new bar();
var value = ((bar)fooArray[2]).fooBar;
주 : foo
클래스 fooBar
이없는
수 없습니다. 그러나 필드를 기본 클래스 상태로 승격시킬 수 있습니다. –
디자인을 수정해야한다고 생각합니다. 수십 가지의 파생 클래스가 있다면 각각 자체 속성이 있습니다 ... –