The problem is that your editor returns the exact same link (you get opto and return opto). Therefore, even if you change some of the internal properties of opto, opto ref will not change. If you absolutely need to enter your accessory, inside EditValue create a new OptoSigmaSettings and change its properties so that your form returns. Note that I do not see in your code how the form is initialized with the contents of the existing opto.
PS: I just saw your comment above. Please note that if you do not initialize your DataToGet, then it is null, and therefore it works the first time (the null value is different from the value returned by your form).
Note 2: Marino is right in saying that even if your set is not called, the properties of your object are still updated (Direction, FunctionToCall and Duration).
source share