📄 customer.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 + -