2015-08-26 3 views
0

Пример:Динамическое имя переменной с этим. Ключевое слово

public string varName = "val"; 
public string val = "some value"; 

public void meth() 
{ 
    // Actually need: Trace.WriteLine(this.val); 
    Trace.WriteLine(this+ "this.varName"); 
} 

На самом деле, мне нужно напечатать some value, то есть мне нужно сцепить this. ключевое слово со значением строки, и создать что-то вроде dynamic variable, но не нашел, что правильно синтаксис для этого.

+2

Тогда просто напишите, как, 'this.val'. Это член экземпляра, поэтому проблем не будет. Какая у вас ошибка? –

+0

Можете ли вы объяснить, в чем ваша цель? –

+1

Похоже, что у вас должен быть «Словарь <строка, строка>' - или использовать отражение ... –

ответ

1
public void meth() 
{ 
    var value = GetType().GetField(varName).GetValue(this); 
    Trace.WriteLine(value); // "some value" 
}