例如:
Sub Test()
Dim car as new MyCar
car.chassis.wheel.radius = 15
Console.WriteLine(car.chassis.wheel.radius)
End Sub
Run Code Online (Sandbox Code Playgroud)
所以问题是.是否可以使用像Something("car.chassis.wheel.radius")= 15这样的字符串名称来访问该属性?
Mir*_*vec 14
你可以,但不像你的问题那样简洁.
此函数将按名称获取任何对象的任何属性.
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
Run Code Online (Sandbox Code Playgroud)
我给你留下错误处理.任何后果:)
是的,您可以非常轻松地:
Dim radius As Integer = CallByName(car.chassis.wheel, "radius", Microsoft.VisualBasic.CallType.Get, Nothing)
Run Code Online (Sandbox Code Playgroud)
请参阅此 Microsoft页面以供参考。