Короткий ответ на ваш вопрос «Да» можно:
myValue = Me.GetType.GetField("_tipo" & validationString).GetValue(Me)
И мы можем сделать более эффективным:
myValue = Me.GetType.GetField("_tipo" & validationString, Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance Or Reflection.BindingFlags.Public Or Reflection.BindingFlags.IgnoreCase).GetValue(Me)
Я установил обязательные флаги, чтобы поймать как публичные и частные переменные, а также игнорируя регистр, чувствительный к вашему поиску, поэтому не имеет значения, вы вводите «_tipo» или «_TiPo».
Это ответ на ваш вопрос, но я не предлагал вам лучшего способа выполнить вашу задачу.
Я не верю, что вы можете сделать это без использования свойств, [здесь] (http://stackoverflow.com/questions/10338018/how-to-get-a-property-value-using-reflection), Edit : при написании этого я придумал [это] (http://stackoverflow.com/questions/7649324/c-sharp-reflection-get-field-values-from-a-simple-class) – SomeNickName
Нужно ли им действительно быть переменными? Если вы просто связываете имена со строками, вы можете использовать хеш-таблицу. –
Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –