clineenum.vb

来自「苏金明编写的《用VB.NET和VC#.NET开发交互式CAD系统》一书的源代码」· VB 代码 · 共 52 行

VB
52
字号
Public Class CLineEnum
    Implements IEnumerable

    Public Sub New()
    End Sub

    Private m_lines As New CLines()
    Public Sub AddLines(ByVal lines As CLines)
        Dim i As Integer
        For i = 0 To lines.Count - 1
            m_lines.Add(lines(i))
        Next
    End Sub

    Private Class LineEnumerator
        Implements IEnumerator

        Dim m_lines As CLines
        Dim m_pos As Integer = -1
        Dim m_Count As Integer

        Public Sub New(ByVal lines As CLines)
            m_lines = lines
            m_Count = lines.Count
        End Sub

        Public Sub Reset() Implements IEnumerator.Reset
            m_pos = -1
        End Sub

        Public Function MoveNext() As Boolean Implements IEnumerator.MoveNext
            m_pos += 1
            If (m_pos >= m_lines.Count) Then
                Return False
            Else
                Return True
            End If
        End Function

        Public ReadOnly Property Current() As Object Implements IEnumerator.Current
            Get
                Return m_lines(m_pos)
            End Get
        End Property
    End Class

    Public Function GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator
        Return New LineEnumerator(m_lines)
    End Function

End Class

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?