Цитата:
Сообщение от
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();
иначе компилятор не должен такое пропускать.
В связи с чем и вопрос я может какой патент пропустил?
Это не опечатка у него в двух примерах, это что-то другое.