vb.net - 从 With VB.net 中引用一个类
问题描述
我已经调用了我希望将其作为一个整体返回到 JSONConvert 方法以序列化 JSON 的 clientdetails。
我创建了一个具有我需要的属性类型(TextA,TextB)等的类。
我可以同时引用 TransactionCount 和 TransactionType,因为它们是 ClientDetails 的一部分,但是当我尝试引用 Transactions 的 TextA 时,它指出 TextA 不是 ClientDetails 的成员 - 我知道这就是我明确声明 .Transactions.TextA 的原因。
如果我在一个新变量下单独声明事务,那么我可以引用它们,但是我需要在 ClientDetails 下声明它们以传递给序列化程序。
谁能指出我在这里做错了什么?还在学习。
Public Class JSON
Public Shared Function SerializeObject()
Dim clientdetails As New ClientDetails() With {.TransactionCount = "1", .TransactionType = "Q", .Transactions.TextA} 'Unable to Refer to any Property of Transactions.
'Dim Trans As New Transactions()
'Trans.TextA= "Test"
Dim output As String = JsonConvert.SerializeObject(clientdetails, Newtonsoft.Json.Formatting.Indented)
Return output
End Function
End Class
Public Class ClientDetails
Public Property Transactions As New Transactions()
Public Property [TransactionType] As String
Public Property [TransactionCount] As Integer
End Class
Public Class Transactions
Public Property [RecordID] As String
Public Property No As String
Public Property TextA As String
Public Property TextB As String
Public Property Initial As String
Public Property Flag As String
Public Property Sex As String
Public Property Area As String
Public Property Type As String
Public Property IDNO As String
End Class
解决方案
您可以使用以下语法:
Dim clientdetails As New ClientDetails() With {.TransactionCount = "1", .TransactionType = "Q", .Transactions = New Transactions() With {.TextA = "Test"}}
或者更易读的代码:
Dim trans As New Transactions
trans.TextA = "Test"
Dim clientDetails As New ClientDetails()
With clientDetails
.TransactionCount = "1"
.TransactionType = "Q"
.Transactions = trans
End With
推荐阅读
- sql - 从表的每组中提取记录的 SQL 查询
- python - 无法在原始大小pygame之外绘制
- string - 一个双字可以存储多少个字符
- azure - 使用 Az Powershell 将新操作附加到现有 API
- neo4j - Neo4j 桌面,数据库无法启动
- python - 在循环中创建过滤的 pandas 数据帧时性能不佳。需要改进代码的建议
- python - 如何使这段代码与python中的await异步
- redis - Redis 从 AOF 迁移到 RDB
- python - 在numpy中,如何创建源数组中元素的索引数组,因为它们在目标数组中找到?
- vba - 在 Access 中以编程方式打印标签