Свойство доступа с помощью его имени в vb.net

Например:

Sub Test()
  Dim car as new MyCar
  car.chassis.wheel.radius = 15
  Console.WriteLine(car.chassis.wheel.radius)    
End Sub

Таким образом, вопрос. Действительно ли возможно получить доступ к свойству с помощью своего имени строки как Что-то ("car.chassis.wheel.radius") = 15?

9
задан Nikita Silverstruk 5 June 2013 в 00:09
поделиться

1 ответ

Можно, но не так кратко, как в вашем вопросе.

Эта функция получает любое свойство любого объекта по имени.

Public Function GetPropertyValue(ByVal obj As Object, ByVal PropName As String) As Object
    Dim objType As Type = obj.GetType()
    Dim pInfo As System.Reflection.PropertyInfo = objType.GetProperty(PropName)
    Dim PropValue As Object = pInfo.GetValue(obj, Reflection.BindingFlags.GetProperty, Nothing, Nothing, Nothing)
    Return PropValue
End Function

Я оставляю вам обработку ошибок. И никаких последствий :)

14
ответ дан 4 December 2019 в 12:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: