1

実行時にコントロールを追加できる小さなソフトウェアを作成しています。

私が行ったことは、コントロールから派生クラスを作成することです。これらには、そのクラスのインスタンスが構築されるたびに増加する静的整数カウンターが含まれます。これにより、名前が繰り返されないように命名規則を作成できます。たとえば、私は言う

this.Name = "Label"+counter;

これを一種のカスタムシリアライゼーションに保存したいときに問題が発生します。Label0、Label1、Label2 の3 つのラベルを作成し、 Label1を削除するとします。これは、 Label0 と Label2を持つことにつながります。

現在の状態をシリアル化し、そのデータを読み込んで状態を再構築すると、ラベルを作成すると、カウンターの値が 1 になり、最後のラベルの名前"Label2"になります。これは、別のラベルを作成したい場合、"Label(counter+1)"、つまり"Label2"になり、重複することを意味します。

私の質問は、これと同じくらい単純な命名規則になり、重複した名前をスキップするカウンターを作成する最良の方法はどれですか?

4

1 に答える 1

1

カウンターを他のコントロールでシリアル化すると、既存のコントロールをロードしたり、カウンター値を使用して新しいコントロールを作成したりできます。

于 2012-04-25T14:17:56.953 に答える