Imports System.Runtime.Serialization
<Serializable()> _
Public Class TestClass
Implements ISerializable
Public STR As String
Sub New()
Me.STR = String.Empty
End Sub
Sub New(str As String)
Me.STR = str
End Sub
Public Sub GetObjectData(info As System.Runtime.Serialization.SerializationInfo, context As System.Runtime.Serialization.StreamingContext) _
Implements System.Runtime.Serialization.ISerializable.GetObjectData
info.AddValue("STR", STR, GetType(String))
End Sub
Public Sub New(info As SerializationInfo, context As StreamingContext)
STR = DirectCast(info.GetValue("STR", GetType(String)), String)
End Sub
End Class
------------------------------------------------------------------------------
Imports Microsoft.VisualStudio.DebuggerVisualizers
Imports System.Windows.Forms
<Assembly: System.Diagnostics.DebuggerVisualizer(GetType(TestVisualizer) _
, GetType(VisualizerObjectSource) _
, Target:=GetType(EntityProject.TestClass) _
, Description:="My First Visualizer")>
Public Class TestVisualizer
Inherits DialogDebuggerVisualizer
Protected Overrides Sub Show(windowService As Microsoft.VisualStudio.DebuggerVisualizers.IDialogVisualizerService _
, objectProvider As Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider)
Dim obj As Object = objectProvider.GetObject()
If TypeOf obj Is EntityProject.TestClass Then
Dim ent As EntityProject.TestClass = DirectCast(obj, EntityProject.TestClass)
MsgBox(ent.STR)
End If
End Sub
Public Shared Sub TestShowVisualizer(ByVal objectToVisualize As Object)
Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(TestVisualizer))
visualizerHost.ShowVisualizer()
End Sub
End Class
------------------------------------------------------------------------------
Imports MyVisualizer
Module Module1
Sub Main()
Dim test As New EntityProject.TestClass("aaa")
TestVisualizer.TestShowVisualizer(test)
End Sub
End Module
最終更新:2016年11月20日 14:05