Привет всем. Я пытаюсь привести два объекта к конкретному типу на основе информации об отражении свойства. Я хочу сделать это динамически, поэтому мне не нужно связывать варианты переключений и так далее для каждого типа, чтобы два объекта могли быть в этом классе. В целом они будут в основном int или float. В настоящее время я пытался использовать ключевые слова 'var' и 'object' для хранения входящего значения корректировки и исходного значения свойств.
// .. snip
/* Get property information. */
PropertyInfo propInfo = classObj.GetType().GetProperty("property-name");
if (propInfo == null)
continue;
/* Prepare object values. */
object orgVal = propInfo.GetValue( classObj, null );
object adjVal = Convert.ChangeType( strAdjust, propInfo.GetType(), new CultureInfo("en-us"));
// .. math on objects here
// ex. orgVal += adjVal;
// .. snip
Входящее корректирующее значение представлено в виде строки, но в формате int или float, поэтому его легко конвертировать. Все это работает нормально, проблема заключается только в том, чтобы кастинг мог корректировать исходное значение с новым значением корректировки.
Я знаю, что в .NET 4.0 есть ключевое слово "dynamic", которое могло бы достичь чего-то подобного, но в настоящее время я застрял, используя 3.5.
Оба объекта будут использовать тип из информации о свойстве propInfo.GetType ().
Любая помощь с этим была бы очень признательна, я уверен, что я, вероятно, упускаю из виду основную вещь, чтобы добиться этого. Заранее спасибо.
-CK
Редактировать:
Забыл упомянуть, извините, это разрабатывается на Zune HD, поэтому структура, к которой у меня есть доступ, довольно ограничена тем, что можно / нельзя использовать.