Каков правильный способ обновления ConcurrentDictionary с новым значением? Я пытаюсь AllWidgets.TryUpdate (идентификатор, MyWidget, MyWidget) и возвращает ложь, и не правильно обновлять в этом типе сценария:Как использовать ConcurrentDictionary (Integer, Class) .TryUpdate?
Public Class Widget
Public ID As Integer
Public Name As String
Public Sub New(ByVal id As Integer, ByVal name As String)
ID = id
Name = name
End Sub
End Class
Dim AllWidgets As New ConcurrentDictionary(Of Integer, Widget)
AllWidgets.TryAdd(1, New Widget(1000, "Widget A"))
AllWidgets.TryAdd(2, New Widget(1001, "Widget B"))
Dim UpdateWidget As New Widget(1001, "Widget BB")
Dim IsUpdated As Boolean = AllWidgets.TryUpdate(2, UpdateWidget, UpdateWidget)
IsUpdated является Ложные
Я предполагаю, что я действительно не понимаю, как третий параметр должен работать для сложных объектов.