|
|
#1 |
|
Участник
|
is и as в аксапте
Подскажите можно ли как то отпределить принадлежность обьекта к классу? Наподобие в с# есть операторы is и as?
|
|
|
|
|
#2 |
|
Участник
|
О какой версии Аксапты идет речь?
В 2012-й эти операторы включены в синтаксис языка В 2009-й - они реализованы в качестве статических методов класса SysDictClass В более ранних - не помню), но если даже их нет, то вполне можно перенести из 2009-й А вообще, еще со старых версий точно был метод SysDictClass::isEqualOrSuperclass() - через него реализованы операторы в 2009-й
__________________
Axapta v.3.0 sp5 kr2 |
|
|
|
| За это сообщение автора поблагодарили: arhat (1). | |
|
|
#3 |
|
Участник
|
is и as есть в AX 2012 - первая ссылка из гугла
|
|
|
|
| За это сообщение автора поблагодарили: arhat (0). | |
|
|
#4 |
|
Участник
|
|
|
|
|
|
#5 |
|
Участник
|
Цитата:
Сообщение от AndyD
О какой версии Аксапты идет речь?
В 2012-й эти операторы включены в синтаксис языка В 2009-й - они реализованы в качестве статических методов класса SysDictClass В более ранних - не помню), но если даже их нет, то вполне можно перенести из 2009-й А вообще, еще со старых версий точно был метод SysDictClass::isEqualOrSuperclass() - через него реализованы операторы в 2009-й |
|
|
|
|
#6 |
|
Участник
|
|
|
|
|
| За это сообщение автора поблагодарили: arhat (1). | |
|
|
#7 |
|
Участник
|
Последний раз редактировалось arhat; 22.12.2014 в 09:07. |
|
|
|
|
#8 |
|
Участник
|
возможно подойдет такой вариант сравнения:
SysSetupFormRun_Address_RU formRun_Address; formRun_Address = element; if (classidget(formRun_Address) == classnum(SysSetupFormRun_Address_RU)) |
|
|
|
| За это сообщение автора поблагодарили: arhat (1). | |
|
|
#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 |
|
|
|
|
#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). | |
|
|
#11 |
|
Участник
|
всем спасибо
|
|
|
|
|
#12 |
|
Участник
|
DocumentFormat.OpenXml.Packaging.WorksheetPart worksheetPart;
worksheetPart = SYSDictClass::as(worksheetPartTmp, classnum(DocumentFormat.OpenXml.Packaging.WorksheetPart); выводит синтакс ошибка, не может найдти classnum DocumentFormat.OpenXml.Packaging.WorksheetPart, как можно обойти ??? в ax 2009 |
|
|
|
|
#13 |
|
Участник
|
|
|
|
|
| За это сообщение автора поблагодарили: Logger (1), gl00mie (2). | |
|
|
#14 |
|
Участник
|
че то я не понял как его использовать! добавлять сборку в axapta
|
|
|