Показать сообщение отдельно
Старый 01.09.2017, 02:31   #3  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Может у тебя просто более старая версия приложения?

Какой класс в примере "базовый", и какой метод существует только на "потомке", и каком именно?
В первом примере
Обьявление переменной в потомке:
X++:
class SalesLineType_NewType extends SalesLineType
{
	public boolean myExtraData;	
}
Использование:
X++:
SalesLineType salesLineType = salesLine.type(); // родительский тип
salesLineType.myExtraData = true; // обращение к члену потомка через экземпляр родительского типа
Должно быть
X++:
SalesLineType_NewType salesLineType = salesLine.type();
Не?

Пример 2
Обьявление метода в потомке:
X++:
SysUserLogCleanup_Extension extends SysUserLogCleanup
{
    private void mfpGetFromDialog()
    {
    } 
}
Использование:
X++:
SysUserLogCleanup instance = _args.getThis();  // родительский тип
instance.mfpGetFromDialog(); // вызов метода потомка через экземпляр родительского типа
При отсутствии данного метода в родительском классе (или в обязательном интерфейсе но это не суть)
другой потомок SysUserLogCleanup_AnotherExtension может и не иметь этот метод mfpGetFromDialog().
Для этого компилятор и существует.

В моей реальности это должно быть
X++:
SysUserLogCleanup_Extension instance = _args.getThis();
иначе компилятор не должен такое пропускать.

В связи с чем и вопрос я может какой патент пропустил?
Это не опечатка у него в двух примерах, это что-то другое.

Последний раз редактировалось ax_mct; 01.09.2017 в 02:33.