2011-12-20 4 views
-2

私はC#でアプリケーションを作っています。そのアプリケーションでは、私はDataCapture.csというクラスを持っています。同じアプリケーションで私はListner.csという別のクラスを持っています。ここではListner.csクラスでDataCapture.csという新しいオブジェクトを作成せずにDataCapture.csのオブジェクトを使いたいと思っています。私がDataCapture.csの新しいオブジェクトを作成しているかのように、私はDataCapture.csのデータをアクセスできません。新しいインスタンスを作成し、すべてのデータが失われてしまいます。DataCapture.csでコレクションを使用してください。別のクラスで1つのクラスオブジェクトを使用していますか?

+1

いくつかのコードを示してください。 –

+0

Downvoterあなたは質問に間違っていることを教えていただけますか? – Dany

+0

私はdownvoteをしませんでしたが、あなたの質問がはっきりしないので、なぜ人々がそれを行うのか分かります。コードによって多くのことが明らかになりました。 –

答えて

1

singleton patternを使用して、classone objectのみが存在するようにしてください。 object

DataCapture.Instance. ......のように取得することができます。ここでは、です。

1

既に作成されたDataCaptureオブジェクトの参照をListenerクラスに渡すことができます。たとえば、インスタンスをリスナーのコンストラクタに渡します。

class Listener{ 
    Listener(DataCapture data) 
    { 
    this.data = data; 
    } 
} 

ここで、DataCaptureインスタンスにアクセスできます。

1

あなたが求めていることを理解すれば、このような何かをすることができます。

//somewhere in the code you create 
DataCapture dataCapture = new DataCapture(); 

そして、これはあなたが求めているものではない場合は、リスナー実際DataCapture

public class Listener { 

    DataCapture _dataCapture = null; 

    public Listener(DataCapture dc) { 
    _dataCapture = dc; 
    } 

    /* Use _dataCapture member inside listener class member functions. 
    One instance of DataCapture class, shared inside Listener. 
    */ 
} 

が必要であることを考慮することは、あなたの質問にclatifyしてください。

関連する問題