Создать новый объект из конструктора в C # - PullRequest
0 голосов
/ 16 января 2019

Я новичок в C #. Я пытаюсь создать новый объект из конструктора другого класса.

namespace ClientsCatalgoWindowsForms
{
    public partial class GeneralForm : Form
    {
        public GeneralForm(string ClientName)
        {
            string FormName = ClientName;

           // Client CurrClient = new Client(FormName);
            Client CurrClient = new Client();
            InitializeComponent();


        //ClientForm(ClientName);
        }

        private void OkButton_Click(object sender, EventArgs e)
        {
            //CreateBatch(true);



            CreateObjectsArray();

            CreateControlArray(false);

            //CreateBatch(0);

            Application.Exit();
        }

Я пытаюсь создать новый объект типа Client с именем CurrClient.

Когда я пытаюсь использовать его в одном из методов класса, они не распознают новый объект. Что я делаю не так?

Новый класс объектов появляется в другом cs-файле. Имеет ли это значение?

Ответы [ 3 ]

0 голосов
/ 16 января 2019

Область ссылки на объект - это конструктор GeneralForm , попробуйте следующее, надеюсь, это поможет.

 public partial class GeneralForm : Form
{
    public Client CurrClient;

    public GeneralForm(string ClientName)
    {
        string FormName = ClientName;
        CurrClient = new Client();
        InitializeComponent();
    }

}

0 голосов
/ 16 января 2019

Конструктор - это просто функция (метод), которая вызывается изнутри, когда создается экземпляр класса. Он содержит код, который должен быть выполнен при создании объекта. Его основное использование - давать значения переменным (членам), присутствующим в классе.

      class Sample
{   
  .......
  // Constructor
  public Sample() {}
  .......
}

// an object is created of the  Sample class,
// So above constructor is called
Sample obj = new Sample(); 
0 голосов
/ 16 января 2019

Вам необходимо объявить переменную currClient на уровне класса и инициализировать ее в конструкторе. После этого вы сможете использовать currClient в других методах.

  namespace ClientsCatalgoWindowsForms
{
    public partial class GeneralForm : Form
    {
        Client CurrClient = null;
        public GeneralForm(string ClientName)
        {
            string FormName = ClientName;

           // Client CurrClient = new Client(FormName);
            CurrClient = new Client();
            InitializeComponent();


        //ClientForm(ClientName);
        }

        private void OkButton_Click(object sender, EventArgs e)
        {
            //CreateBatch(true);



            CreateObjectsArray();

            CreateControlArray(false);

            //CreateBatch(0);

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