2013-03-24 53 views
0

我有一個子類將參數傳遞給超類,像這樣:將參數傳遞給getter/setter?

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。

我該怎麼做?

謝謝!

回答

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

只需在引用Iterator之前在您的子類中設置屬性。

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

另一個選擇是創建一個新的構造函數,它將List項作爲參數並在構造函數中設置屬性。