2009-06-18 4 views
0

HIすべて、のCodeDOM

で変数名を生成し、こので私を助けてください:

私は私のカスタムコントロールを含むフォームを持っています。

カスタムコントロールでは、データを取得するために同じデータソースを参照する2つのコレクションがあります。このように作業

私の現在のCodeDOMシリアライザ:

control1.Values.DataSource = new objA(); 
    control1.CategoryNames.DataSource = new objA(); 

あなたが見ることができるように、OBJAは2時間をインスタンス化されました。

これを解決するにはどうすればよいですか?

私は、OBJAへの参照を保持する変数を宣言した後、2つのコレクションにその変数を割り当てることができますね。

ObjA var = new objA(); 
    control1.Values.DataSource = var; 
    control1.CategoryNames.DataSource = var; 

しかし、私は「varが」固有の名前であることを確認cannnot。フォームが私のコントロール(control1、control2など)に与えた名前を自動的に割り当てる方法を教えてください。

ありがとうございます。

答えて

1

代わりに、変数にguidという名前を付けることもできます。ユニークであることが保証されているわけではありませんが、(特に、クラス内の他の変数のいずれも指導として指定されていない場合は)

有効な変数名にするには、文字で始まることを確認したり、ダッシュを削除したりするなど、いくつかのフィルタリングを行う必要があります。

string variableName = "A" + Guid.NewGuid().ToString().Replace("-",""); 
+0

私はカスタムコントロールの複数のインスタンスを使用する場合など、variableNameが宣言されている場合があります。 variableNameが有効かどうかを確認する方法が必要です。助けてください!! – thethanghn

+0

guidを再生成する場合は、名前が同じになる可能性が非常に低いです。 –

関連する問題