0

次のような構造を使用しています。

Structure USERREC
    Public UserRecID As Integer
    Public CompanyRecID As Integer
    Public Username As String
    Public LoggedInTime As DateTime
    Public UserIsLocked As Boolean
    Public UserFirstName As String
    Public UserLastName As String
    Public UserEmail As String
    ... deleted for simplicity ...
End Structure

この型を variable にインスタンス化する(Dim ThisUserRec As USERREC = (data routine) )と、コードを中断してすぐにウィンドウに移動し、単純に入力"? ThisUserRec"すると、構造内のすべての要素が適切に表示されます。

? ThisuserRec
{USERREC}
    UserFirstName: "Alex                                                        "
    UserIsDeleted: False
    UserIsLocked: False
    UserIsOwnerMgr: False

この例では、セキュリティと単純化のために要素を削除しました。

そのため、構造全体を監査テーブルに文字列として保存したいと考えています。私はいくつかの簡単な方法があることを望んでいました

Dim ThisUserRecString as String = ThisUserRec

もちろん、それがうまくいかないことはわかっています。

構造体の内容を文字列にダンプする簡単な方法を知っている人はいますか? それともHTMLテーブル?

4

1 に答える 1

0

DataContractJsonSerializerを使用して簡単に JSON にシリアル化できます。

この男には素晴らしい例があります: DataContractJsonSerializer でオブジェクトを文字列としてシリアル化するにはどうすればよいですか?

VBに変換しました

Private Function ToJson(Of T)(data As T) As String
    Dim serializer As New DataContractJsonSerializer(GetType(T))

    Using ms As New MemoryStream()
        serializer.WriteObject(ms, data)
        Return Encoding.[Default].GetString(ms.ToArray())
    End Using
End Function

このように呼び出すだけです

ToJson(Of USERREC)(object)

ライブラリをインポートすることを忘れないでください

Imports System.Runtime.Serialization.Json
Imports System.IO
Imports System.Text

そしてそれをシリアライズ可能にする

<Serializable()> _
于 2013-05-21T19:06:43.280 に答える