2013-01-22 3 views
0

두 클래스 A 및 B, A에서 상속받은 B 및 추가로 유형이 List<OtherObject> 인 멤버가 있습니다.부모 클래스에서 자식 클래스의 List.Count에 대한 참조 가져 오기

class B (항목 제거/추가)의 목록에 발생한 변경 사항을 반영하여 class AList.Count 속성에 대한 참조가 필요합니다. 자신을 class A에서 int 멤버를 변경하지 않고도이를 수행하는 가장 좋은 방법은 무엇입니까?

편집 : 좋아, 좀 더 복잡하고 설명을 위해 간단한 코드가 있습니다. int 멤버 myCount가 내가 언급 한 참조를 보유해야합니다.

public abstract class A{ 
protected int myCount; 

    public void Process() 
    { 

     ProcessSpecificRequest(); 

     if(myCount == 0){ 
      //Do something 
     } 
    } 

    protected abstract void ProcessSpecificRequest(); 

    } 

public class B: A { 
private List<Object> myList; 

    protected override void ProcessSpecificRequest() 
    { 
    //Do something with the List 

    } 

}

+0

당신이 몇 가지 코드와 무슨 말을하는지 볼 수 쉬울 것입니다. –

+0

"클래스 A의 int 멤버"란 무엇입니까? – Dennis

답변

1
class A { 
    public abstract int ListCount { get; } 
} 

class B : A { 
    protected List<object> BList = new List<object>(); 
    public override int ListCount { 
     get { 
      return BList.Count; 
     } 
    } 
} 
+0

감사! 아주 간단하게, 나는 이것을 스스로 찾아야했다. :) – hecko84

1
public abstract class A, ICollection 
{ 
    public abstract int Count { get; } 
    //todo realize ICollection 
} 

public class B<T> : A 
{ 
    protected List<T> OtherObject = new List<T>(); 
    public override int Count 
    { 
     get 
     { 
      return OtherObject.Count; 
     } 
    } 
    //todo realize ICollection 
} 
관련 문제