Der erste gedruckte Wert ist 32, während der zweite Wert 0 ist. Es wurde keine Ausnahme ausgelöst
structs sind ValueTypes, die als Wert übergeben werden. Das bedeutet, dass Sie nur Kopien der gesamten Struktur übergeben, nicht einen Verweis auf das ursprüngliche Objekt.
Wenn Sie es also in info.SetValue(_priceStruct, 32, null)
übergeben, wird eine Kopie an die Methode übergeben und mutiert, sodass das ursprüngliche Objekt überhaupt nicht geändert wird. Ein weiterer Grund, warum veränderbare Strukturen böse sind.
Sie können sie immer noch mit Reflektion ändern, aber es ist ein bisschen langatmig.
Siehe dieses Beispiel: Ссылка
Tags und Links reflection c#-4.0 struct properties