在另一个类中使用一个类对象?

时间:2011-12-20 07:45:07

标签: c# class object collections

我在c#中创建应用程序。在该应用程序中,我有一个类DataCapture.cs。在同一个应用程序中,我有另一个类Listner.cs。在Listner.cs类中,我想使用DataCapture.cs的对象而不创建DataCapture.cs的新对象。好像我正在创建DataCapture.cs的新对象,我无法访问数据DataCapture.cs,因为它创建了新的类实例,所有数据都丢失了,因为我在DataCapture.cs中使用了集合。请帮帮我。谢谢。

3 个答案:

答案 0 :(得分:1)

您可以使用singleton pattern确保one object只存在class。然后,您可以将object as,

DataCapture.Instance. ......其中.Instance是public static

答案 1 :(得分:1)

您可以将已创建的DataCapture对象的引用传递给Listener类。例如,将实例传递给Listener的构造函数。

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

现在,在Listener中,您可以访问DataCapture实例。

答案 2 :(得分:1)

如果我清楚了解你要求的东西,你可以这样做。

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

并且,考虑到Listener 需要实际上是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.
  */
}

如果这不是您所要求的,请对您的问题进行整理。