03.11.2019, 14:25
|
#165
|
Разработчик
Регистрация: 20.01.2007
Сообщений: 485
Написано 182 полезных сообщений (для 412 пользователей)
|
Ответ: Проблемы разработки от EvilOkta
Сообщение от EvilOkta
Спасибо ) энтерпрайз дорого (я ж не зарабатываю программированием), идея с partial интересная. Параллельно в Excel заношу публичные методы классов и их сигнатуры, на всякий случай.
Продолжаю закидывать страшными вопросами. Я наконец-то разобрался со свойствами (pax за это отдельное спасибо), но терзают сомнения, можно ли их применять вот так:
protected static string[] Mounthes = new[] { "января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря" };
protected string _mounth;
protected byte Mounth // храним номер месяца, выдаем его string из массива по номеру элемента
{
get
{
byte count = 1;
while (count <= Mounthes.Length)
{
if (Mounthes[count-1] == _mounth) break;
count++;
}
return count;
}
set
{
_mounth = Mounthes[value-1];
}
}
Условно закидываем номер месяца, а получаем его string название. Или это плохая практика?
|
Конкретно к этому примеру - выглядит не очень. В первую очередь за счет цикла с сравнением строк внутри гетера. Добавь одну переменную и закэшируй туда индекс.
protected static readonly string[] Monthes =
{
"января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября",
"декабря"
};
protected byte monthIndex;
protected string monthName;
protected byte MonthIndex
{
get => monthIndex;
set
{
if (value <= 0 || value > 12) return;
monthIndex = (byte) (value - 1);
monthName = Monthes[monthIndex];
}
}
protected string MonthName => monthName;
|
(Offline)
|
|