Login
Какую версию выбрать?
869 просмотров
Перейти к просмотру всей ветки
Программист коренной житель
in Antwort Murr 14.02.20 15:03, Zuletzt geändert 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;
:)