2011-12-17 12 views
0

私はクラス/関数名で可変内容を使用できますか?例えば :私はクラス/関数名で可変内容を使用できますか?

string string_1 = "abcd"; 
double num_2 = 20.5; 
int num = 1; 

MessageBox.Show(string_{num}); // shows string_1; 

おかげ[Iは、Visual C#の(のVisual Studio 2008)での初心者です]。

+0

私はそれを試しましたが、私はそれが可能かどうかを知りたいと思います。 – mrdaliri

答えて

1

クラス名とメソッド名は定数でなければならず、例のようにコードで定数と呼ぶ必要があります。

reflectionおよび/またはdynamic typeを動的な動作に使用できます。

2

いいえできません。クラス名はコンパイル時に定義されます。

1

間違いなく。

私が知る限り、そのような意味論はどのプログラミング言語でも可能ではありません。

0
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; 
} 
関連する問題