0

我有两个类 A 和 B,B 从 A 继承,另外还有一个 type 的成员List<OtherObject>

现在我需要引用该List.Count属性来class A反映列表中发生的更改class B(删除/添加项目)。在不自己更改 int 成员的情况下,实现这一目标的最佳方法是什么class A

编辑:好的,它有点复杂,我在这里有一些简化的代码来解释: 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

    }

}

4

2 回答 2

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;
        }
    }
}
于 2013-01-22T12:51:31.963 回答
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
}
于 2013-01-22T12:55:07.153 回答