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() 方法中获取参数值并将其放入 getter/setter 中。

我该怎么做?

谢谢!

4

1 回答 1

0

在你的超类中声明另一个属性是 List 然后在那里引用它呢?

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;
}

在引用迭代器之前,只需在子类中设置超类中的属性即可。

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

另一种选择是创建一个新的构造函数,它将 List 项作为参数并在构造函数中设置您的属性。

于 2013-03-24T00:29:50.710 回答