2015-12-06 2 views
1

Я знаю, что прошу помочь в домашней работе, нахмурился здесь, но я в тупике. Вот задание:C# Класс сотрудника, ошибка ничего не отображается

Класс Employee Написать класс с именем Employee, который имеет следующие свойства:

  • Имя - Свойство Имя имеет имя сотрудника.
  • IdNumber - Свойство IdNumber содержит идентификационный номер сотрудника.
  • Отдел - собственность Департамента имеет название отдела, в котором работает сотрудник.
  • Позиция - свойство Position занимает должность сотрудника.

Класс должен иметь следующие перегруженные конструкторы: конструктор, который принимает следующие значения в качестве аргументов и присваивает им соответствующие свойства: имя сотрудника, номер ID сотрудника, отдела и позиции. Конструктор, который принимает следующие значения в качестве аргументов и присваивает их соответствующим свойствам: имя сотрудника, идентификационный номер сотрудника, отдел и свойства позиции должны быть назначены пустой строкой ("") Конструктор без параметров, который назначает пустые строки ("") к свойствам Name, Department и Position, а 0 - к свойству IdNumber.

В приложении создать три объекта Employee провести следующие данные:

Name   Id Number   Department  Position 
----------- ----------   ----------  --------- 
Susan Meyers 47899    Accounting  Vice President 
Mark Jones  39119    IT    Programmer 
Joy Rogers  81774    Manufacturing Engineer 

Приложение должно хранить эти данные в трех объектов и отображать данные для каждого сотрудника на экране.

Это код, у меня есть

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace EMp 
{ 

    public partial class Form1 : Form 
    { 
     const int SIZE = 3; 
     Employee[] theEmployee = new Employee[SIZE]; 

     public Form1() 
     { 
      InitializeComponent(); 
     } 

     class Employee 
     { 

      public string _Name; 
      public string _IdNumber; 
      public string _Department; 
      public string _Position; 

      public Employee(string Name, string IdNumber, string Department, string Position) 
      { 
       _Name = Name; 
       _IdNumber = IdNumber; 
       _Department = Department; 
       _Position = Position; 
      } 

      public string Name 
      { 
       get { return _Name; } 
       set { _Name = value; } 
      } 

      public string IdNumber 
      { 
       get { return _IdNumber; } 
       set { _IdNumber = value; } 
      } 

      public string Department 
      { 
       get { return _Department; } 
       set { _Department = value; } 
      } 

      public string Position 
      { 
       get { return _Position; } 
       set { _Position = value; } 
      } 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      theEmployee[0] = new Employee("Susan Meyers", "47899", "Accounting", "Vice President"); 
      theEmployee[1] = new Employee("Mark Jones", "39119", "IT", "Programmer"); 
      theEmployee[2] = new Employee("Joy Rogers", "81774", "Manufacturing", "Enginner"); 

     } 

     private void btnDisplay_Click(object sender, EventArgs e) 
     { 
      lblName1.Text = theEmployee[0]._Name; 
     } 

     private void btnExit_Click(object sender, EventArgs e) 
     { 
      this.Close(); 
     } 

    } 
} 

Когда я нажимаю дисплей, ничего не происходит. Поэтому я действительно не уверен, что его работа вообще, или если я пытаюсь отобразить его, это ошибка. Я также не уверен, что я могу показать все это, или мне придется делать lblName1.Text = theEmployee [0] ._ IdNumber; и все остальное на собственной этикетке.

+2

С просьбой о помощи в выполнении домашних заданий не нахмурился. Просить людей делать домашнее задание или, иначе, не задавать хороший вопрос (не демонстрируя усилий), неодобрительно. – mason

+0

[Свойства авто] (https://msdn.microsoft.com/en-us/library/bb384054.aspx) сделает ваш код более чистым и будет более актуальным, как записывается реальный C#. – mason

+0

как в сторону, установите переменные '_Name' и т. Д.' В 'private', и назначьте' lblName1.Text = theEmployee [0] .Name; 'через proptery. В противном случае нет никакой точки в этой структуре –

ответ

2

Я воссоздал вашу программу, и она работает для меня. Вы должны проверить, действительно ли btnDisplay_Click отображается на вашей кнопке Нажмите.

Эта проблема обычно возникает, когда новички создают кнопку, затем удаляют ее, затем создают новую и предполагают, что ее . Событие Click отображается в функцию. Или вы просто вручную записали btnDisplay_Click после просмотра учебника?

+0

Я вручную написал btnDisplay_Click, я удалил его и сделал его, нажав на кнопку и ее работу сейчас. Спасибо. – Lyght