Я наткнулся на то, что не совсем понимаю логику.Давайте поработаем со следующим фрагментом кода:
For Each ds As DerivedScale In List
If ds.ScaleID = scaleId Then
ds.ScaleID = ds.ScaleID + scaleStep
CType(List(myCounter + scaleStep), DerivedScale).ScaleID = scaleId
myDerivedScale = ds
ds = List(myCounter + scaleStep) <---------------------
List(myCounter + scaleStep) = myDerivedScale
Exit For
End If
myCounter += 1
Next
Этот фрагмент написан для 2 записей, чтобы изменить место и изменить порядковый номер (scaleid).Стрелка указывает, где возникает проблема.Элемент "ds" заменяется индексом объекта 1 выше / ниже.Это, однако, не влияет на этот объект в списке.Поэтому, когда я проверяю, пункт ds не установлен.
Однако, когда я смотрю на ds.ScaleId = ds.ScaleID + scaleStep, это отражается в списке.
Так что мне интересно, является ли "ds" действующим как локальныйпеременная здесь, и я могу только вносить изменения в ее свойства?
Заранее спасибо.