22.12.2014, 08:11 | #1 |
Участник
|
is и as в аксапте
Подскажите можно ли как то отпределить принадлежность обьекта к классу? Наподобие в с# есть операторы is и as?
|
|
22.12.2014, 08:29 | #2 |
Участник
|
О какой версии Аксапты идет речь?
В 2012-й эти операторы включены в синтаксис языка В 2009-й - они реализованы в качестве статических методов класса SysDictClass В более ранних - не помню), но если даже их нет, то вполне можно перенести из 2009-й А вообще, еще со старых версий точно был метод SysDictClass::isEqualOrSuperclass() - через него реализованы операторы в 2009-й
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: arhat (1). |
22.12.2014, 08:29 | #3 |
Участник
|
is и as есть в AX 2012 - первая ссылка из гугла
|
|
|
За это сообщение автора поблагодарили: arhat (0). |
22.12.2014, 08:37 | #4 |
Участник
|
|
|
22.12.2014, 08:38 | #5 |
Участник
|
Цитата:
Сообщение от AndyD
О какой версии Аксапты идет речь?
В 2012-й эти операторы включены в синтаксис языка В 2009-й - они реализованы в качестве статических методов класса SysDictClass В более ранних - не помню), но если даже их нет, то вполне можно перенести из 2009-й А вообще, еще со старых версий точно был метод SysDictClass::isEqualOrSuperclass() - через него реализованы операторы в 2009-й |
|
22.12.2014, 08:59 | #6 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: arhat (1). |
22.12.2014, 09:04 | #7 |
Участник
|
Последний раз редактировалось arhat; 22.12.2014 в 09:07. |
|
23.12.2014, 15:25 | #8 |
Участник
|
возможно подойдет такой вариант сравнения:
SysSetupFormRun_Address_RU formRun_Address; formRun_Address = element; if (classidget(formRun_Address) == classnum(SysSetupFormRun_Address_RU)) |
|
|
За это сообщение автора поблагодарили: arhat (1). |
25.12.2014, 14:08 | #9 |
Administrator
|
Цитата:
X++: if (SysDictClass::is(element, classNum(SysSetupFormRun_Address_RU))) { // ... }
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
25.12.2014, 14:14 | #10 |
Administrator
|
И да, кстати, не забывайте, что по умолчанию все формы создаются как объекты класса SysSetupFormRun. Поэтому, вообще говоря, для того, чтобы определить, какая форма сейчас открыта, is не подходит.
То же самое верно и для отчётов.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
За это сообщение автора поблагодарили: arhat (1). |
05.01.2015, 21:23 | #11 |
Участник
|
всем спасибо
|
|
08.01.2015, 09:52 | #12 |
Участник
|
DocumentFormat.OpenXml.Packaging.WorksheetPart worksheetPart;
worksheetPart = SYSDictClass::as(worksheetPartTmp, classnum(DocumentFormat.OpenXml.Packaging.WorksheetPart); выводит синтакс ошибка, не может найдти classnum DocumentFormat.OpenXml.Packaging.WorksheetPart, как можно обойти ??? в ax 2009 |
|
08.01.2015, 12:00 | #13 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: Logger (1), gl00mie (2). |
08.01.2015, 12:31 | #14 |
Участник
|
че то я не понял как его использовать! добавлять сборку в axapta
|
|