Попробуйте это:
Console.WriteLine("IRR IS :" + root1.Rate.GetType().GetProperty(a).GetValue(root1.Rate, null));
или аналогично:
Console.WriteLine("IRR IS :" + typeof(Rates).GetProperty(a).GetValue(root1.Rate, null));
В приведенном выше коде сначала вы указываете тип вашего объекта с помощью:
root1.Rate.GetType()
или
typeof(Rates)
Далее, вызывая GetProperty
, вы указываете имя свойства, к которому вы собираетесь обращаться, как видно, вход этого метода - string
, и, следовательно, это то, что пользователь может ввести. Наконец, используя метод GetValue
, вы указываете объект, от которого хотите получить значение указанного свойства.