Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Какую версию выбрать?

14.02.20 16:17
Re: Какую версию выбрать?
 
Программист коренной житель
в ответ Murr 14.02.20 15:03, Последний раз изменено 14.02.20 16:19 (Программист)
Еще раз - решение методами - не интересует.

Ну так я и говорю, что 2Гб спагетти не просто так появилось :)


Обоснование - с одной сущностью - пропертью Валуе - приходится работать двумя разными способами.
Ну а методы заразервированы для более сложных действий, чем присваивание значения... пусть даже с конвертацией...

Я не знаю что у тебя там за объект и в чем его суть (в соседней теме мы узнали, что ты это тоже не знаешь :D), но скорее всего сеттеры там не нужны :)

Можно обойтись одной функцией Init и проинициализировать объект не выводя сеттеры наружу. Тогда код

                            TIntrastatCodeRowProxy icp = this[intrastatCodeRow];
                            string netPriceHomeCurrency = itemsByIntrastatCode.SumNetPriceHomeCurrency.ToString();
                            icp.IntrastatCodeComodity   = netPriceHomeCurrency;
                            icp.StatVal                 = netPriceHomeCurrency;
                            icp.Weight                  = itemsByIntrastatCode.SumWeight.ToString();
                            icp.Sqm                     = itemsByIntrastatCode.SumSqm.ToString();

можно будет заменить на

this[intrastatCodeRow].Initialize(itemsByIntrastatCode);


ну или если аллергия на методы, то никто не мешает сделать сеттер без геттера:

public class TIntrastatCodeRowProxy 
{
...
public TItems.Subset Sebset
{
   set
   {
      string netPriceHomeCurrency = value.SumNetPriceHomeCurrency.ToString();
      IntrastatCodeComodity   = netPriceHomeCurrency;
      StatVal                 = netPriceHomeCurrency;
      Weight                  = value.SumWeight.ToString();
      Sqm                     = value.SumSqm.ToString();
   }
}
...
}

и тогда вообще будет нирвана:

this[intrastatCodeRow].Sebset = itemsByIntrastatCode;

:)

 

Перейти на