2012-03-07 13 views
0

私は、データベースに従って単語のランダムなリストを生成するプログラムの種類を構築しています。 私は、単語の選択と処理(ランダムな選択関数、データベース関数への接続など)を扱うクラスを作った。複数のクラスを使用して変数を追跡して操作する方法 - C#

私は最後に選択した3つの単語を示す3つの変数がある。 どのように私はスクラッチ毎回からそれらを作成せずに、同じ3つの変数を操作するには、Form1の(ボタン1を押します)にfuncionを使用してください(今何が起こるか...)

自分自身をより明確にするために: accualy何I複数のクラス間で変数を追跡する方法を知る必要があります。

私はクラス全体を間違って使用している可能性があります...私は今それを把握するためにtriyngです。 ありがとう、 バラク。私はそれを見るよう

+2

:-) ...あなたのコードは、スパムメール/投稿を生成するために使用されていない願っていますあなたが立ち往生している場所。 – Oded

答えて

1

あなたの2つのオプションがあります。

1)これらの

の周りに渡すことができる変数あなたはこのクラスの場合のためにsingleton patternを使用したい場合がありを保持しているクラスのインスタンスあなたはそれらのうちの1つだけが存在することを確かめたいと思う。

2)この情報を保持する静的メンバーを持つ静的クラス。

ランダムな単語クラス全体が静的である可能性があります。この場合、そのクラスのメソッドとプロパティを呼び出して、単語を生成してアクセスするだけです。

また、3つの別々の変数ではなく、単語を保持するコレクションを検討することをお勧めします。それはもちろんあなたの実装に依存するので、私はあなたがそれを考えていないようにそれを言及し、私はあなたが間違いなくすべきことを言っているわけではありません。 :)

0

私はこの目的のためだけに静的なものやシングルトンを避けるでしょう。彼らは単純なオブジェクト指向のシナリオのための習慣ではありません。

クラスの状態変数をカプセル化します。クラスの状態変数は、最初にインスタンス化し、次に参照によってフォームおよび/またはデータフェッチロジックに渡します。

これは、参照の概念を理解することです。フォームとフェッチロジックには、状態クラスの同じインスタンスが表示され、効果的に共有されます。

"変数"を状態クラスのプロパティとして実装すると、ワード状態が変化したときにイベントを使用してコードの他の部分に通知できます。

また、状態クラスで可能な相互作用(インターフェイス)を明確に定義することも検討してください。 1つの側面は、追加された単語に基づいて統計を引き出す別の単語を追加するように思われます。状態クラスはこれをすべて受け入れることができ、将来の拡張のための素晴らしい場所を提供します。

「変数」(カウンタやコレクションなどのフィールド)を非公開にしながら、パブリックインターフェイスのメソッド/プロパティについて考えるようにしてください。

また、実際のコードのスニペットで投稿を改善することに同意します。お手伝いします。

そして、私は、自分自身をより明確にあなたが話しているコードを投稿し、あなたが望むものをやっていないところを説明するために

関連する問題