2012-08-04 2 views
0

동일한 멤버 중 10 명을 공유하는 2 개의 다른 위젯이 있습니다. 그러나 그들은 2 단계를 가지고 있습니다. 각 스테이지에는 다른 멤버가 가지고 있지 않은 특정 멤버가 있습니다.올바르게 프로그래밍하는 방법

public class widget 

    private _id as integer 
    private _engravedId as string 
    private _stage as WidgetStage 
    private _wig as IWidget 
end class 

public interface IWidget 
    Calculate() 
end interface 


public class Twidget 
    implemets IWidget 

    private t as integer 
    private b as double 
    private d as double 

end class 

public class Rwidget 
    implemenents IWidget 

    private y as integer 
    private x as double 
    private b as double 

end class 

클래스에 Iwidget을 선언하면 파생 클래스 변수에 액세스하기 위해 캐스트해야합니다. 더 좋은 방법이 있습니까?

+1

추가 변수가 비공개 인 경우 캐스팅 한 경우에도 어떻게 액세스 할 수 있습니까? – Prescott

답변

0

모든 개인 변수가 IWidget의 컨텍스트에서 동일한 의미를 갖는 경우 IWidget에 속성을 추가하여 검색 할 수 있습니다.

그렇지 않으면 값을 검색하기 위해 리플렉션을 구현할 수 있지만 데이터베이스 열이나 사용자 인터페이스 요소 값에 매핑 속성과 같은 작업을 수행하지 않는 한 올바른 방법이 아닙니다.

이것은 캐스팅이 시나리오에 가장 적합한 방법임을 의미합니다.

관련 문제