Я использую структуру, которая может содержать переменную данных как объект:
Structure parse_object
Friend data As Object
End Structure
в этой переменной данных. Я хочу сохранить различные типы структур, например, такую:
Structure drive_data
Friend num_steps As UInteger
End Structure
Я инициализирую это так:
Dim driveConf_comm as parse_object
Private Sub init()
driveConf_comm = new parse_object()
structure drive_data
Dim d As New drive_data()
d.num_steps = 0
driveConf_comm.data = d
End Sub
Теперь я хочу изменить значение 'num_steps' в обратном вызове
Private Sub cb(ByRef num_steps as UInteger)
Dim d As drive_data = DirectCast(driveConf_comm.data, drive_data)
d.num_steps = 100000
End Sub
Но это не меняет переменную, напишите d обратно в driveConf_comm.data:
DirectCast(driveConf_comm.data, drive_data).num_steps => 0
driveConf_comm.data = d
DirectCast(driveConf_comm.data, drive_data).num_steps => 100000
Клонировал ли DirectCast мою структуру?
Пожалуйста, помогите!