【问题标题】:C# Employee class, error nothing displaysC# Employee 类,没有显示错误
【发布时间】:2016-03-10 20:13:40
【问题描述】:

我知道在这里寻求家庭作业帮助是不受欢迎的,但我很难过。这是作业:

员工类 编写一个名为 Employee 的类,它具有以下属性:

  • Name--Name 属性保存员工的姓名。
  • IdNumber--IdNumber 属性保存员工的 ID 号。
  • Department--Department 属性包含员工所在部门的名称。
  • 职位--职位属性包含员工的职位。

该类应具有以下重载构造函数: 一个构造函数,它接受以下值作为参数并将它们分配给适当的属性:员工姓名、员工 ID 号、部门和职位。 接受以下值作为参数并将它们分配给适当属性的构造函数:员工姓名、员工 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;以及其他所有内容都在其自己的显示标签中。

【问题讨论】:

  • 寻求家庭作业方面的帮助并不令人讨厌。要求人们做作业或以其他方式不问一个好问题(不表现出努力)是不受欢迎的。
  • Auto Properties 将使您的代码更加简洁,并且更加了解真实 C# 的编写方式。
  • 顺便说一句,将您的_Name 等变量设置为private,并通过属性分配lblName1.Text = theEmployee[0].Name;。否则,该结构没有意义
  • 我不确定如何使用自动属性,但我听取了您的建议并重命名了参数。
  • 感谢您的帮助。 :)

标签: c# class display


【解决方案1】:

我重新创建了您的程序,它对我有用。您应该检查 btnDisplay_Click 是否确实映射到您的按钮的 Click 事件。

当初学者创建一个按钮,然后删除它,然后创建一个新按钮并假设它的 Click 事件映射到函数时,通常会出现此问题。 还是你看了教程才手动写下btnDisplay_Click

【讨论】:

  • 我手动编写了 btnDisplay_Click,我删除了它并通过单击按钮使其现在可以工作。谢谢。
猜你喜欢
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 2019-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多