Я не совсем уверен, что название было хорошо для этого. Я застрял на задании для школы, предположим, чтобы быть видео, чтобы показать, как это сделать, но для жизни меня не могу понять, как загрузить файлы студентов с сайта pearson. Ниже приведена проблема, над которой я работаю.Employee and ProductionWorker Classes, получая информацию от классов
сотрудников и ProductionWorker Классы
Создать класс Employee, который имеет свойства для следующих данных:
- Имя сотрудника
- Количество сотрудников
Далее создайте класс с именем ProductionWorker который получен из класса Employee. Класс ProudctionWorker должен иметь свойства, чтобы держать следующие данные:
- номер сдвига (целое число, такое как 1, 2, или 3)
- почасовой ставки
платить рабочий делится на две смены: днем и ночью. Свойство Shift будет содержать целочисленное значение, представляющее сдвиг, который работает сотрудник. Сдвиг дня - сдвиг 1, а ночной сдвиг - сдвиг 2.
Создание приложения, которое создает объект класса ProductionWorker и позволяет пользователю вводить данные для каждого из свойств объекта. Получить свойства объекта и отобразить их значения.
Вот код, который я работаю над для него:
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 classes
{
public partial class frmMainClasses : Form
{
string EmpShift = "";
string EmployeeName = "";
int EmployeeNumber = 0;
float HourlyPayRate = 0;
public class Employee
{
public string EmployeeName { get; set; }
public int EmployeeNumber { get; set; }
}
public class ProductionWorker : Employee
{
public float HourlyPayRate { get; set; }
public Shift Shift { get; set; }
}
public enum Shift
{
Day = 1,
Night = 2
}
public frmMainClasses()
{
InitializeComponent();
}
private void btxExit_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnGetInfo_Click(object sender, EventArgs e)
{
string EmpShift = "";
ProductionWorker productionWorker = new ProductionWorker();
productionWorker.EmployeeName = txtName.ToString();
EmployeeName = productionWorker.EmployeeName; //Added mostly because I couldn't get EmployeeName to show anything in the messagebox
productionWorker.EmployeeNumber = Convert.ToInt32(txtIdNumb.text);
productionWorker.HourlyPayRate = Convert.ToInt32(txtPay.text);
EmpShift = Convert.ToString(txtShift.text);
txtName.Text = "";
txtIdNumb.Text = "";
txtPay.Text = "";
txtShift.Text = "";
}
private void btnShow_Click(object sender, EventArgs e)
{
MessageBox.Show("Name " + EmployeeName + "IDNumber " + EmployeeNumber + "Hourly rate " + txtPay + "Shift " + txtShift);
}
}
}
Сам код не показывает никаких ошибок, но когда я пытаюсь запустить его я получаю:
Строка EmpShift вещь потому что я не мог понять, как работать с кодом сдвига более или менее, используя это как держатель места, пока я не выдержу его. Я понятия не имею, как исправить эту проблему, надеюсь, ее небольшая ошибка.
Благодаря помощи от commets я смог исправить первую проблему, с которой я столкнулся, теперь у меня проблема с полем сообщения в конце. Информация, которую я вложил в нее, - это блеск для имени, 12 для идентификационного номера, 1 для смены и 12 для оплаты. Вот что его показ:
Имя System.Windows.Forms.TextBox, Текст: GlitterIDNumber 0Hourly скорость System.Windows.Forms.TextBox, Текст: Сдвиг SystemWindowsForm.TextBox, Текст:
Это должно быть 'Convert.ToInt32 (txtIdNumb.Text)'. Вы хотите преобразовать свойство text, а не текстовое поле. –
Ahh спасибо Рон. – Lyght
Мое сообщение не работает/отображается правильно, пытаясь работать над этим сейчас. – Lyght