File: src\runtime\src\libraries\Common\src\System\Security\Cryptography\CryptographicAttributeObjectEnumerator.cs
Web Access
Project: src\runtime\src\libraries\System.Security.Cryptography.Pkcs\src\System.Security.Cryptography.Pkcs.csproj (System.Security.Cryptography.Pkcs)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System;
using System.Collections;
using System.Diagnostics;

namespace System.Security.Cryptography
{
#if BUILDING_PKCS
    public
#else
    #pragma warning disable CA1510, CA1512
    internal
#endif
    sealed class CryptographicAttributeObjectEnumerator : IEnumerator
    {
        internal CryptographicAttributeObjectEnumerator(CryptographicAttributeObjectCollection attributes)
        {
            _attributes = attributes;
            _current = -1;
        }

        public CryptographicAttributeObject Current
        {
            get
            {
                return _attributes[_current];
            }
        }

        object IEnumerator.Current
        {
            get
            {
                return _attributes[_current];
            }
        }

        public bool MoveNext()
        {
            if (_current >= _attributes.Count - 1)
                return false;
            _current++;
            return true;
        }

        public void Reset()
        {
            _current = -1;
        }

        private readonly CryptographicAttributeObjectCollection _attributes;
        private int _current;
    }
}