Я уверен, что это просто, но я слишком долго смотрел на нее, и мне нужен ответ в ближайшее время. Я новичок в C#. Если я ставлю GetCommission() в структуры я получаюC# инициализация структуры с неполными параметрами + формула
ошибка CS0188: «это» объект не может быть использован, прежде чем все ее поля присваиваются
вне структуры
ошибка CS0038: не удается получить доступ к нестатический члену внешнего типа «Ex5._3.CommissionForm» с помощью вложенного типа «» Ex5._3.CommissionForm.salespersonFigures
Как это сделать? Оговорка: часть задания заключалась в том, что комиссия рассчитывается по методу. Ни один из обучающих программ, которые я нашел, не связан с назначением одного члена на основе значения другого. Он должен быть кошерным, поскольку вычисления используют только статические данные. Правильно?
// Declare class variables and constants
private const decimal WEEKLY_BASE_SALARY = 250m;
private const decimal WEEKLY_QUOTA = 1000m;
private const decimal COMMISSION_RATE = .15m;
public struct salespersonFigures
{
// Fields
private string salesperson;
private decimal weeklySales;
private decimal commission;
private decimal pay;
// Constructor
public salespersonFigures(string name, decimal sales)
{
salesperson = name;
weeklySales = sales;
commission = GetCommission(sales); // error occurs at this line
pay = WEEKLY_BASE_SALARY + commission;
}
// Property
public decimal Sales
{
get
{
return weeklySales;
}
set
{
weeklySales = value;
}
}
public string Name
{
get
{
return salesperson;
}
set
{
salesperson = value;
}
}
// Method
public decimal GetCommission(decimal sales)
{
if (sales > WEEKLY_QUOTA)
return sales * COMMISSION_RATE;
else return 0m;
}
}
Почему это должно быть на структуру? Кажется, это то, что я создал класс для ... – Kendrick
Как он сказал, он, вероятно, является новичком в C# и, вероятно, из C/C++-фона, кажется, что структуры будут логическим выбором для структура данных –
Возможно, это не повод, но мы еще не дошли до этой части книги. – slomobile