|  | @@ -288,14 +288,12 @@ namespace Google.Protobuf.Collections
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        public RepeatedField<T>.Enumerator GetEnumerator()
 | 
	
		
			
				|  |  | +        public IEnumerator<T> GetEnumerator()
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            return new Enumerator(this);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        IEnumerator<T> IEnumerable<T>.GetEnumerator()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            return GetEnumerator();
 | 
	
		
			
				|  |  | +            for (int i = 0; i < count; i++)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                yield return array[i];
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          public override bool Equals(object obj)
 | 
	
	
		
			
				|  | @@ -467,55 +465,6 @@ namespace Google.Protobuf.Collections
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              Remove((T)value);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        #endregion
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        public struct Enumerator : IEnumerator<T>
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            private int index;
 | 
	
		
			
				|  |  | -            private readonly RepeatedField<T> field;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            public Enumerator(RepeatedField<T> field)
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                this.field = field;
 | 
	
		
			
				|  |  | -                this.index = -1;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            public bool MoveNext()
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                if (index + 1 >= field.Count)
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                    index = field.Count;
 | 
	
		
			
				|  |  | -                    return false;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                index++;
 | 
	
		
			
				|  |  | -                return true;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            public void Reset()
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                index = -1;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            public T Current
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                get
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                    if (index == -1 || index >= field.count)
 | 
	
		
			
				|  |  | -                    {
 | 
	
		
			
				|  |  | -                        throw new InvalidOperationException();
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -                    return field.array[index];
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            object IEnumerator.Current
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                get { return Current; }
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            public void Dispose()
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +        #endregion        
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |