|
![]() |
#1 |
Участник
|
Что такое doValidateField() и doValidateWrite(), чем они должны отличаться от ValidateField() и ValidateWrite()?
А по конкретнее, что случилось? Получили рекурсию? Если проблема в этом, то можно сделать так: X++: public boolean validateField(FieldId _fieldIdToCheck, boolean _superOnly = false) { boolean ret = super(fieldIdToCheck); if (!_superOnly) { ret = ret && TransportJournalTableData::newTable(this).validateField ( _fieldIdToCheck, true // ... ну вы поняли ); } return ret; } Последний раз редактировалось S.Kuskov; 30.03.2012 в 09:06. |
|
![]() |
#2 |
MCTS
|
Цитата:
ValidateField() -> super() -> doValidateField() Последние два в том случае, если мы в перекрытом методе ValidateField() не забыли вызвать super(). |
|
![]() |
#3 |
Участник
|
Ну это так автор ветки обозвал гипотетический метод, который представляет из себя неперекрытый validate. Т.е. если бы такой метод существовал, то даже при перекрытом (содержащим дополнительные проверки) методе validate была бы возможность вызвать тот не перекрытый оригинальный метод (вызвать super() не вызывая всего остального).
|
|
![]() |
#4 |
MCTS
|
Цитата:
Сообщение от S.Kuskov
![]() Ну это так автор ветки обозвал гипотетический метод, который представляет из себя неперекрытый validate. Т.е. если бы такой метод существовал, то даже при перекрытом (содержащим дополнительные проверки) методе validate была бы возможность вызвать тот не перекрытый оригинальный метод (вызвать super() не вызывая всего остального).
|
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
![]() |
#5 |
MCTS
|
Цитата:
Сообщение от S.Kuskov
![]() А по конкретнее, что случилось?
Получили рекурсию? Если проблема в этом, то можно сделать так: X++: public boolean validateField(FieldId _fieldIdToCheck, boolean _superOnly = false) { boolean ret = super(fieldIdToCheck); if (!_superOnly) { ret = ret && TransportJournalTableData::newTable(this).validateField ( _fieldIdToCheck, true // ... ну вы поняли ); } return ret; } |
|
![]() |
#6 |
Участник
|
Цитата:
P.S.: "Вам шашечки или ехать?" ![]() |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|