⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 customer.vb

📁 讲解visual studio的应用
💻 VB
字号:
Imports Microsoft.VisualStudio.DebuggerVisualizers

<Serializable()> _
<DebuggerDisplay("Customer {Name} has {Orders.Count} orders")> _
<DebuggerTypeProxy(GetType(Customer.CustomerProxy))> _
<DebuggerVisualizer(GetType(Customer.CustomerVisualizer))> _
Public Class Customer


    Private m_FirstName As String

    Private m_LastName As String

    Private m_Orders As New List(Of Order)


    Public Property Orders() As List(Of Order)
        Get
            Return m_Orders
        End Get
        Set(ByVal value As List(Of Order))
            m_Orders = value
        End Set
    End Property


    Public Property LastName() As String
        Get
            Return m_LastName
        End Get
        Set(ByVal value As String)
            m_LastName = value
        End Set
    End Property

    Public ReadOnly Property Name() As String
        Get
            Return FirstName & " " & LastName
        End Get
    End Property


    Public Property FirstName() As String
        Get
            Return m_FirstName
        End Get
        Set(ByVal value As String)
            m_FirstName = value
        End Set
    End Property


    Private m_CountAccessed As Integer
    Public ReadOnly Property OrderCount() As Integer
        Get
            m_CountAccessed += 1
            Return Me.Orders.Count
        End Get
    End Property

    Public ReadOnly Property CountAccessed() As Integer
        Get
            Return Me.m_CountAccessed
        End Get
    End Property


    Public Class CustomerProxy

        Public Name As String
        Public NumberOfOrders As Integer
        Public MaximumQuantity As Integer = 0
        Public MinimumQuantity As Integer = Integer.MaxValue
        Public ItemsOrdered As String

        Public Sub New(ByVal c As Customer)
            Me.Name = c.Name
            Me.NumberOfOrders = c.m_Orders.Count
            For Each o As Order In c.m_Orders
                Me.MaximumQuantity = Math.Max(o.Quantity, Me.MaximumQuantity)
                Me.MinimumQuantity = Math.Min(o.Quantity, Me.MinimumQuantity)
                If Not Me.ItemsOrdered = "" Then Me.ItemsOrdered &= ", "
                Me.ItemsOrdered &= o.Description
            Next
        End Sub

    End Class

    Public Class CustomerVisualizer
        Inherits DialogDebuggerVisualizer

        Protected Overrides Sub Show _
                (ByVal windowService As IDialogVisualizerService, _
                ByVal objectProvider As IVisualizerObjectProvider)

            Dim c As Customer = CType(objectProvider.GetObject, Customer)

            Dim cf As New CustomerForm
            cf.CustomerBindingSource.DataSource = c

            If windowService.ShowDialog(cf) = Windows.Forms.DialogResult.OK Then
                objectProvider.ReplaceObject(c)
            End If
        End Sub

    End Class

End Class

⌨️ 快捷键说明

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