0

A と B の 2 つのクラスがあり、B は A から継承し、さらに type のメンバーを持ちList<OtherObject>ます。

ここで、リストに発生した変更(アイテムの削除/追加)を反映するために、List.Countプロパティへの参照が必要になります。自分で int メンバーを変更せずに、それを達成するための最良の方法は何ですか?class Aclass Bclass A

編集: OK、それはもう少し複雑で、説明のためにいくつかの簡略化されたコードがあります: 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 に答える