Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在vb.net中使用变量值访问类成员_Vb.net - Fatal编程技术网

如何在vb.net中使用变量值访问类成员

如何在vb.net中使用变量值访问类成员,vb.net,Vb.net,不确定这是否可行: 我想创建一个带有2个输入a的sub Public sub testsub(byval x as string,byval y as string) dim z as class specialdevicelcass z.y = x end sub 如果这是可能的,y变量将始终是特殊设备类的成员您可以使用反射: Public Sub testsub(ByVal x As String, ByVal y As String) Dim z As New speciald

不确定这是否可行: 我想创建一个带有2个输入a的sub

 Public sub testsub(byval x as string,byval y as string)
dim z as class specialdevicelcass
z.y = x
end sub

如果这是可能的,y变量将始终是特殊设备类的成员

您可以使用反射:

Public Sub testsub(ByVal x As String, ByVal y As String)
    Dim z As New specialdevicelcass
    Dim prop = z.GetType.GetProperty(y)
    prop.SetValue(z, x)
End Sub

您不需要将“y”作为参数传递给testsub,因为您没有使用它。如果z.y中的“y”是specialdeviceclass的成员,那么您所编写的是访问它的正确语法。实际上,我需要类似于我所发布的内容的东西,因为每次运行时,y可能会发生更改。例如:y=“ipaddress”一次,下一次可能是y=“serial”等)y是类的成员,是y表示要访问的内容,而不是y的内容。所以
例如,一次是y=“ipaddress”,下一次可能是y=“serial”
是不可能的。您可以创建一个返回作为参数发送的属性值的函数。我将使用一个选择案例,因为它是答案,但不允许我选择它作为答案。我必须使用prop.setvalue(z,x)来设置值