我有两个A和B类,B继承自A,另外还有List<OtherObject>
类型的成员。
现在,我需要List.Count
中class 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
}
}
答案 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
}