Есть ли способ установить единственное значение в свойстве массива через отражение в C#?Значение параметра в массиве с помощью отражения
Моя собственность определяется следующим образом:
double[] Thresholds { get; set; }
Для «нормальных» свойства, которые я использую этот код, чтобы установить его с помощью отражения:
PropertyInfo pi = myObject.GetType().GetProperty(nameOfPropertyToSet);
pi.SetValue(myObject, Convert.ChangeType(valueToSet, pi.PropertyType), null);
Как бы я должен изменить этот код, чтобы установить значение в свойстве массива в произвольной позиции? Спасибо!
BTW: Я пытался использовать параметр индекса, но это только кажется, работает для индексированных свойств, а не свойств, которые являются массивами ...
«Изменение стоимости имущества» является сбивающим с толку фразой, поскольку это является синонимом «установки свойства» (прямо или косвенно). На самом деле значение свойства здесь ** никогда не изменяется ** (это та же ссылка); это изменение содержимого массива. Кроме того, 'GetValue' нуждается во втором параметре. –
Теперь GetValue исправлено – bluish