Ошибка из-за типа данных - C#
Формулировка задачи:
Учусь по книги Троелсена. Скорее всего ошибка из-за невнимательности, но хочется идти дальше.
Сейчас работаю с наследованием.
В дочернем классе созадаем конструктор с использованием ключевого слова base. Он ругается на тип currPay, хотя и в свойствах, методах, полях везде указан нужный, т.е. float.
Вот здесь скрин ошибки
Это собственно дочерний класс
Это 1 часть класса базового
Это 2 часть
class Manager : Employee
{
public int StockOptions { get; set; }
public Manager() { }
public Manager(string fullName, int age, int empID, float currPay, string ssn, int nOfOpt)
:base(fullName, age, empID, currPay, ssn)
{
StockOptions = nOfOpt;
}
}partial class Employee
{
protected BenefitPackage empBenefits = new BenefitPackage();
protected string empName;
protected int empID;
protected float currPay;
protected int empAge;
protected string empSSN;
public Employee() { }
public Employee(string name, int id, float pay) : this(name, id, pay, 0, null) { }
public Employee(string name, int id, float pay, int age, string ssn)
{
Name = name;
ID = id;
Pay = pay;
Age = age;
empSSN = ssn;
}
}partial class Employee
{
public string Name
{
get { return empName; }
set
{
if (value.Length > 15)
Console.WriteLine("Error! Name must be less than 16 characters!");
else
empName = value;
}
}
public int ID
{
get { return empID; }
set { empID = value; }
}
public float Pay
{
get { return currPay; }
set { currPay = value; }
}
public int Age
{
get { return empAge; }
set { empAge = value; }
}
public string SocialSecurityNumber
{
get { return empSSN; }
}
public void GiveBonus(float amount)
{
Pay += amount;
}
public void DisplayStats()
{
Console.WriteLine("Name: {0}", Name);
Console.WriteLine("ID: {0}", ID);
Console.WriteLine("Age: {0}", Age);
Console.WriteLine("Pay: {0}", Pay);
Console.WriteLine("----------------------------");
}
}Решение задачи: «Ошибка из-за типа данных»
textual
Листинг программы
public Employee(string name, int id, float pay, int age, string ssn)