即使我输入了数字 20,也不会传递 DiscountOneHourse 值。它在输出时返回数字 0。
class Program{
//Прайс-лист.
else if (Console.ReadKey(true).Key == ConsoleKey.D2) {
Console.Clear();
Console.WriteLine("Прайс-лист:\n ");
PriceList priceList = new PriceList(150, 275, 700); //Цена за: 1 час, 2 часа и всю ночь.
//Персональная скидка.
PriceList DiscountOneHourse = new PriceList(20);
Console.WriteLine(priceList.PriceListAndDiscount);
}
}
public class PriceList{
public PriceList(int discountOneHourse)
{
DiscountOneHourse = discountOneHourse;
}
public string PriceListAndDiscount
{
get
{
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine($"1. Один час: {OneHourse} рублей" +
$"\n2. Два часа: {TwoHourse} рублей" +
$"\n3. Вся ночь: {AllNight} рублей" +
$"\nКакой вариант выбираете?");
if (Console.ReadKey(true).Key == ConsoleKey.D1) {
Console.WriteLine($"Ваша скидка составляет: {DiscountOneHourse}%. Приятного сеанса.");
}
//else if (Console.ReadKey(true).Key == ConsoleKey.D2) {
// Console.WriteLine($"Ваша скидка составляет: {DiscountTwoHourse}%. Приятного сеанса.");
//}
//else if (Console.ReadKey(true).Key == ConsoleKey.D3) {
// Console.WriteLine($"Ваша скидка составляет: {DiscountAllNight}%. Приятного сеанса.");
//}
return "";
}
set { }
}
}
我假设作者
DiscountOneHourse
在类中有一个属性PriceList
,如果是这样,那么重写在
细化任务。如果你想一次为一个类的所有实例设置折扣,那么你必须
DiscountOneHourse
在类中有一个静态字段,那么所有实例的折扣都是PriceList
一样的。但同时,必须通过类的静态属性或静态方法来暴露它,而不是通过创建类的新实例。如果这是一个单独的折扣,那么您需要使用要为其打折的类的实例中的字段或方法来设置它,即 在 中
priceList
,而不是创建一个新的类实例,它将有自己的字段DiscountOneHourse
,关于类实例的内容,priceList
当然一无所知。也就是说,首先,您需要明确任务并纠正架构。