Использование одного объекта класса в другом классе? - PullRequest
0 голосов
/ 20 декабря 2011

Я делаю приложения в C #. В этом приложении у меня есть один класс как DataCapture.cs.В том же приложении у меня есть другой класс как Listner.cs.Здесь, в классе Listner.cs, я хочу использовать объект DataCapture.cs без создания нового объекта DataCapture.cs.Как будто я создаю новый объект DataCapture.cs, я не могу получить доступ к данным DataCapture.cs, поскольку он создает новый экземпляр класса, и все данные теряются, поскольку я использую коллекцию в DataCapture.cs. Пожалуйста, помогите мне. Спасибовперед.

Ответы [ 3 ]

1 голос
/ 20 декабря 2011

вы можете передать ссылку на уже созданный объект DataCapture в класс Listener. Например, передать экземпляр конструктору Listener.

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

Теперь у слушателя есть доступ к экземпляру DataCapture.

1 голос
/ 20 декабря 2011

если я ясно понимаю, о чем ты просишь, ты можешь сделать что-то подобное.

//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.
  */
}

Если это не то, о чем вы просите, пожалуйста, задайте свой вопрос.

1 голос
/ 20 декабря 2011

Вы должны использовать singleton pattern, чтобы гарантировать, что существует только one object из class.Затем вы можете получить object as,

DataCapture.Instance. ...... где .Inastance public static.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...