1

次のように、スーパークラスにパラメーターを渡すサブクラスがあります。

public int CountMenuItems(List<string> Items)
{    
    //Returns sub-class total item count
    return Items.Count;
}

私のサブクラスはすべて上記のコードを使用します。

今、私はこれをスーパークラスに持っています:

public int Iterator
{
    get
    {
        return iterator;
    }
    set
    {
        iterator = value;
        if (iterator > <Count list here>  - 1) iterator = 0;
        if (iterator < 0) iterator = <Count list here>  - 1;
    }
}

CountMenuItems() メソッドからパラメーター値を取得し、ゲッター/セッターに配置したいと考えています。

どうすればいいですか?

ありがとう!

4

1 に答える 1

0

スーパークラスでリストである別のプロパティを宣言し、そこでそれを参照するのはどうですか?

public int Iterator
{
    get
    {

        return iterator;
    }
    set
    {
        iterator = value;
        if (iterator > Items.Count  - 1) iterator = 0;
        if (iterator < 0) iterator = Items.Count  - 1;
    }
}

public List<string> Items
{
    get; set;
}

Iteratorを参照する前に、サブクラスからスーパークラスにプロパティを設定するだけです。

var yourClass = new YourClass();
yourClass.Items = items;
yourClass.Iterator = 500;
Console.Write(yourClass.Iterator.ToString());

もう1つのオプションは、Listアイテムをパラメーターとして受け取る新しいコンストラクターを作成し、コンストラクターにプロパティを設定することです。

于 2013-03-24T00:29:50.710 に答える