Здравствуйте, у меня такая проблема, я в в главном методе вызываю виртуальный метод из класса наследника, но почему-то переменная выводит 0. Значение переменно берется из файла и присваивается масиву, который присваивается переменной, которая выводит 0, но в файле написано 6000. Работаю в данном коде пока с классом Sensor, LCD неактивен.
public class Katalog
{
public string Model { get; set; }
public string Firm { get; set; }
public string Diagonal { get; set; }
public string Tv_tuner { get; set; } //LSD
public string Resolution { get; set; }
public string Type_matrix { get; set; }
public string Type_sensor { get; set; } //Sensor
public string Amount_hdd { get; set; } //Sensor
public virtual int Price()
{
int value = 0;
return value;
}
}
public class LCD : Katalog
{
public int value { get; set; }
public LCD(string model, string firm, string diagonal, string tv_tuner, string resolution, string type_matrix, int price)
{
Model = model;
Firm = firm;
Diagonal = diagonal;
Tv_tuner = tv_tuner;
Resolution = resolution;
Type_matrix = type_matrix;
value = price;
}
public LCD(string line)
{
string[] split = line.Split(new Char[] { '*' });
Model = split[0].Trim();
Firm = split[1].Trim();
Diagonal = split[2].Trim();
Resolution = split[3].Trim();
Type_matrix = split[4].Trim();
value = int.Parse(split[5].Trim());
}
public override int Price()
{
if (value > 5000)
{
value = value - (value * 5 / 100);
return value;
}
else
{
return value;
}
}
public override string ToString()
{
return String.Format("Модель {0}\nФирма {1}\nДиагональ {2}\nРазрешение {3}\nТип матрицы {4}\nСтоимость {5} гривны\n", Model, Firm, Diagonal, Resolution, Type_matrix, value);
}
}
public class Sensor : Katalog
{
public int value { get; set; }
public Sensor(int Value)
{
value = Value;
}
public Sensor(string line)
{
string[] split = line.Split(new Char[] { '*' });
Model = split[0].Trim();
Firm = split[1].Trim();
Diagonal = split[2].Trim();
Resolution = split[3].Trim();
Type_sensor = split[4].Trim();
value = int.Parse(split[5].Trim());
}
public override string ToString()
{
return String.Format("Модель {0}\nФирма {1}\nДиагональ {2}\nРазрешение {3}\nТип сенсора {4}\nСтоимость {5} гривны\n", Model, Firm, Diagonal, Resolution, Type_sensor, value);
}
public override int Price()
{
if (value > 5000)
{
Console.WriteLine("Вы взяли кредит, {0} гривен, на 12 месяцев, под 3%.", value);
value = ((value * 3 / 100) * 12 + value) / 12;
Console.WriteLine("Сумма погашения ежемесячного кредита, составляет {0} гривен.", value);
return value;
}
else
{
return value;
}
}
}
class Program
{
static void CreatorList()
{
string l;
StreamReader file = new StreamReader("Katalog.txt");
List<LCD> list_LCD = new List<LCD>();
l = file.ReadLine();
list_LCD.Add(new LCD(l));
foreach (LCD a in list_LCD)
{
Console.WriteLine(a);
}
List<Sensor> list_Sensor = new List<Sensor>();
l = file.ReadLine();
list_Sensor.Add(new Sensor(l));
foreach (Sensor b in list_Sensor)
{
Console.WriteLine(b);
}
}
static void Main(string[] args)
{
Sensor S = new Sensor(Value);
CreatorList();
S.Price();
//Console.WriteLine(S.value);
Console.ReadLine();
}
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Доброе утро, всем!! Есть клиент-серверное приложение на C#Сервер:
Пробую освоить MVVM, дается очень тяжелоВ теории вроде понятно, а вот как на практике реализовать, не очень понимаю