Было выдано исключение System.StackOverflowException.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Было выдано исключение System.StackOverflowException.

Сообщение Anonymous »

Я создал приложение Windows Forms на C# с использованием ООП, и мой код выглядит как на бумаге. Впервые получаю эту ошибку и не знаю, как ее исправить. Пожалуйста, можете ли вы помочь?
Вот мой код — класс «Сотрудник»:

Код: Выделить всё

public class Employee
{
private int hoursWorked;
private double ratePerHour;

// Property structures (getter/setter methods)
public int propHoursWorked
{
get { return hoursWorked; }
set { hoursWorked = value; }
}

public double propRatePerHour
{
get { return ratePerHour; }
set { ratePerHour = value; }
}

// Default constructor
public Employee()
{
propHoursWorked = 0;
propRatePerHour = 0.00;
}

// Parameterised constructor
public Employee(int hw, double rph)
{
propHoursWorked = hw;
propRatePerHour = rph;
}

// Methods
public double calcBase()
{
return (propRatePerHour * propHoursWorked);
}

public double calcTax()
{
return (calcBase() * 0.15);
}

public double calcNet()
{
return (calcBase() - calcNet());
}
}
Код драйвера/кнопки:

Код: Выделить всё

private void btnCalculate_Click(object sender, EventArgs e)
{
/// Declare variables
int HoursWorked;
double RatePerHour, BaseSalary=0, TaxDue=0, NetPay=0;

// Input
HoursWorked = int.Parse(txtHoursWorked.Text);
RatePerHour = double.Parse(txtRatePerHour.Text);

// Processing
// Create an object using the class as a blueprint
// Method 1 - Using the Default Constructor
Employee objE = new Employee(HoursWorked, RatePerHour);

BaseSalary = objE.calcBase();
TaxDue = objE.calcTax();
NetPay = objE.calcNet();

// Output
lblBaseSalary.Text = BaseSalary.ToString("C");
lblTax.Text = TaxDue.ToString("C");
lblNetPay.Text = NetPay.ToString("C");
}
Я получаю эту ошибку — она просто срабатывает в случайных местах класса:

Исключение типа «Система» Было выброшено .StackOverflowException.


Подробнее здесь: https://stackoverflow.com/questions/790 ... was-thrown
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Было выдано исключение System.StackOverflowException.
    Anonymous » » в форуме C#
    0 Ответы
    58 Просмотры
    Последнее сообщение Anonymous
  • System.Net.Sockets.Stream выдает исключение System.StackOverflowException
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • System.Net.Sockets.Stream выдает исключение System.StackOverflowException
    Anonymous » » в форуме C#
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Установка NavigationCacheMode на странице вызывает исключение System.StackOverflowException с CallWindowProc
    Anonymous » » в форуме C#
    0 Ответы
    53 Просмотры
    Последнее сообщение Anonymous
  • Установка NavigationCacheMode на странице вызывает исключение System.StackOverflowException с CallWindowProc
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»