Могу ли я использовать переменное содержимое в именах классов / функций?например:
string string_1 = "abcd"; double num_2 = 20.5; int num = 1; MessageBox.Show(string_{num}); // shows string_1;
[Я новичок в Visual C # (Visual Studio 2008)]
Спасибо.
Нет, ты не можешь. Имя класса определяется во время компиляции.
Определенно нет.
Насколько я знаю, такая семантика невозможна ни на одном языке программирования.
Имена классов и методов должны быть постоянными и должны называться константами в коде, как в вашем примере.
Вы можете использовать отражение и / или dynamicвведите для динамического поведения.
dynamic
double num_2 = 20.5; MessageBox.Show(GetName(() => num_2)); public string GetName<T>(Expression<Func<T>> f) { return (f.Body as MemberExpression).Member.Name; }