2017-04-19 75 views
0

我有這樣的類屬性獲取-set訪問對於數組屬性,索引處理

public object[] array { get; set; } 

我能夠獲取和設置整個陣列,以及改變的磁盤陣列中的各個項目。

我怎樣才能實現這與手動get-setters?

的答案,這3個職位無:

How do define get and set for an array data member?

Array property syntax in C#

Get/Set Method for Array Properties

蓋什麼,我需要做的。

object[] array; 
public object[] Array { 
    get { return array; } 
    set { array = value; } 
} 

會讓我得到並覆蓋整個數組,但我希望有索引訪問。

+0

可能重複[如何重載C#中的\ [\]運算符](http://stackoverflow.com/questions/424669/how-do-i-overload-the-operator-in- c-sharp) –

回答

1
public sealed class ArrayWrapper<T> { 
    private readonly T[] _array; 
    public ArrayWrapper(T[] array) { 
     if (array == null) throw new ArgumentNullException(nameof(array)); 
     _array = array; 
    } 

    public T this[int i] { 
     get { return _array[i]; } 
     set { _array[i] = value; } 
    } 
} 
+0

你認爲這更簡單嗎? http://stackoverflow.com/a/424677/7759514 – Tobiq

+0

這取決於你想要做什麼。你想做什麼? – ErikE

+0

設置/獲取值時調用函數。我想我會先嚐試get/setValue函數 – Tobiq