从父类获取对子类中List.Count的引用

时间:2013-01-22 12:47:36

标签: c# .net list

我有两个A和B类,B继承自A,另外还有List<OtherObject>类型的成员。

现在,我需要List.Countclass A属性的引用,以反映class B中列表中发生的更改(删除/添加项目)。如果不自行更改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

    }

}

2 个答案:

答案 0 :(得分: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;
        }
    }
}

答案 1 :(得分: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
}