コード例 #1
0
        ////для обращения к элементу класса через свойство
        //public int Current
        //{
        //    get { return current; }
        //    set
        //    {
        //        if (value < 0 || value >= Capacity) throw new IndexOutOfRangeException();
        //        else current = value;
        //    }
        //}
        ////обращение к элементу класса с индексом current
        //public T Item
        //{
        //    get
        //    {
        //        if (Current >= Count) throw new Exception("значение Current не может быть больше, чем значение индекса последнего элемента.");
        //        else return arr[Current];
        //    }
        //    set
        //    {
        //        if (value is T) arr[Current] = value;
        //        else throw new InvalidCastException();
        //    }
        //}

        //Итератор

        public T this[int index]
        {
            get
            {
                index = ExceptionHandlingArray.TestIndex(index + 1, Count);
                return(arr[index - 1]);
            }
            set
            {
                index          = ExceptionHandlingArray.TestIndex(index + 1, Count);
                arr[index - 1] = value;
            }
        }
コード例 #2
0
 //Индексатор
 public TranspSredstv this[int index]
 {
     get
     {
         index = ExceptionHandlingArray.TestIndex(index, Count);
         return(arr[index]);
     }
     set
     {
         index      = ExceptionHandlingArray.TestIndex(index, Count);
         arr[index] = value;
         CollectionReferensCenged?.Invoke(this, new CollectionHandlerEventArgs(NameCollection,
                                                                               String.Format("Изменен элемент коллекции с индексом {0}.", index + 1), arr[index]));
     }
 }