如何使用VB.NET按字符串值查询类属性?

2026-05-06 09:121阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计344个文字,预计阅读时间需要2分钟。

如何使用VB.NET按字符串值查询类属性?

我有一个新的数据库客户端功能的更新。需要传递客户端对象以及更新字段/属性的字符串数组。我需要一个方法来访问客户端对象中的每个属性,并决定数组中的内容。基本上,我正在寻找遍历方法。

如何使用VB.NET按字符串值查询类属性?

我有一个更新数据库中的客户端的功能.传入客户端对象,以及应更新的字段/属性的字符串数组.我需要一种方法来访问客户端对象中的每个属性,具体取决于数组中的内容.基本上,我正在寻找相当于这个 javascript的VB .NET:

var fields = ["Firstname","Lastname","DOB"]; for(field in fields) { var thisField = fields[field]; client[thisField] = obj[thisField]; }

任何帮助将不胜感激!谢谢堆栈.

您可以使用 Reflection执行此操作.如果不了解更多关于数据对象的设置方式,我不能给你一个完美的例子,但这里有一般的想法:

Dim myPerson As New Person myPerson.FirstName = "John" myPerson.LastName = "Doe" myPerson.DOB = #1/1/2000# Dim myUpdates As New Dictionary(Of String, Object) myUpdates.Add("FirstName", "Adam") myUpdates.Add("LastName" , "Maras") myUpdates.Add("DOB" , #1/1/1990#) Dim personType As Type = GetType(Person) For Each kvp As KeyValuePair(Of String, Object) In myUpdates Dim propInfo As PropertyInfo = personType.GetProperty(kvp.Key) If propInfo IsNot Nothing Then propInfo.SetValue(myPerson, kvp.Value) End If Next

本文共计344个文字,预计阅读时间需要2分钟。

如何使用VB.NET按字符串值查询类属性?

我有一个新的数据库客户端功能的更新。需要传递客户端对象以及更新字段/属性的字符串数组。我需要一个方法来访问客户端对象中的每个属性,并决定数组中的内容。基本上,我正在寻找遍历方法。

如何使用VB.NET按字符串值查询类属性?

我有一个更新数据库中的客户端的功能.传入客户端对象,以及应更新的字段/属性的字符串数组.我需要一种方法来访问客户端对象中的每个属性,具体取决于数组中的内容.基本上,我正在寻找相当于这个 javascript的VB .NET:

var fields = ["Firstname","Lastname","DOB"]; for(field in fields) { var thisField = fields[field]; client[thisField] = obj[thisField]; }

任何帮助将不胜感激!谢谢堆栈.

您可以使用 Reflection执行此操作.如果不了解更多关于数据对象的设置方式,我不能给你一个完美的例子,但这里有一般的想法:

Dim myPerson As New Person myPerson.FirstName = "John" myPerson.LastName = "Doe" myPerson.DOB = #1/1/2000# Dim myUpdates As New Dictionary(Of String, Object) myUpdates.Add("FirstName", "Adam") myUpdates.Add("LastName" , "Maras") myUpdates.Add("DOB" , #1/1/1990#) Dim personType As Type = GetType(Person) For Each kvp As KeyValuePair(Of String, Object) In myUpdates Dim propInfo As PropertyInfo = personType.GetProperty(kvp.Key) If propInfo IsNot Nothing Then propInfo.SetValue(myPerson, kvp.Value) End If Next