Miklix

Indlela Iterate Over the Elements of an Enum kusukela X ++ Code e Dynamics AX 2012

Kushicilelwe: Februwari 15, 2025 23:18:32 UTC
Igcine ukubuyekezwa: Januwari 12, 2026 08:42:30 UTC

Lesi sihloko sichaza indlela yokubala nokuguqula izakhi ze-base enum ku-Dynamics AX 2012, kufaka phakathi isibonelo sekhodi ye-X++.


Leli khasi lihunyushwe ngomshini lisuka esiNgisini ukuze lenze lifinyeleleke kubantu abaningi ngangokunokwenzeka. Ngeshwa, ukuhumusha ngomshini akukabi ubuchwepheshe obuphelele, ngakho-ke amaphutha angenzeka. Uma uthanda, ungabuka inguqulo yokuqala yesiNgisi lapha:

How to Iterate Over the Elements of an Enum from X++ Code in Dynamics AX 2012

Ulwazi olukulesi sihloko lusekelwe ku-Dynamics AX 2012 R3. Lungase lusebenze noma lungasebenzeli ezinye izinguqulo.

Muva nje bengidala ifomu elidinga ukubonisa inani lento ngayinye ku-enum. Esikhundleni sokudala amasimu ngesandla (bese ngidinga ukugcina ifomu uma i-enum ike yaguqulwa), nginqume ukulisebenzisa ngokuguquguqukayo ukuze lizokwengeza ngokuzenzakalelayo amasimu kumklamo ngesikhathi sokusebenza.

Kodwa-ke, ngithole ngokushesha ukuthi empeleni ukuphindaphindeka kwamanani ku-enum, yize kulula ngokwanele uma usuyazi ukuthi kanjani, kuyadida kancane.

Kusobala ukuthi udinga ukuqala ngekilasi le-DictEnum. Njengoba uzobona, leli kilasi linezindlela eziningana zokuthola ulwazi olufana negama nelebula kusuka kokubili ku-index kanye nenani.

Umehluko phakathi kwe-index ne-value ukuthi i-index iyinombolo ye-element ku-enum, uma izakhi ze-enum zifakwe izinombolo ngokulandelana kusukela ku-zero, kuyilapho i-value iyimpahla "ye-value" yangempela ye-element. Njengoba ama-enum amaningi enamanani afakwe izinombolo ngokulandelana kusukela ku-0, i-index ne-value ye-element ivame ukufana, kodwa ngokuqinisekile hhayi njalo.

Kodwa wazi kanjani ukuthi yimaphi amanani i-enum enawo? Yilapho okudida khona. Ikilasi le-DictEnum linendlela ebizwa ngokuthi amanani(). Ungalindela ukuthi le ndlela ibuyisele uhlu lwamanani e-enum, kodwa lokho kungaba lula kakhulu, ngakho-ke esikhundleni salokho ibuyisela inani lamanani e-enum equkethe. Kodwa-ke, inani lamanani alinalutho namanani angempela, ngakho-ke udinga ukusebenzisa le nombolo njengesisekelo sokubiza izindlela ezisekelwe ku-index, hhayi lezo ezisekelwe kunani.

Ukube nje bebeqambe le ndlela ngokuthi ama-indexes() esikhundleni salokho, ngabe ayidideki kangako ;-)

Futhi khumbula ukuthi amanani e-enum (futhi ngokusobala lawa "ma-indexes") aqala ku-0, ngokungafani nama-array nama-container indexes ku-X++, aqala ku-1, ngakho-ke ukuze udlule izinto eziku-enum ungenza into efana nale:

DictEnum dictEnum = new DictEnum(enumNum(SalesStatus));
Counter  c;
;

for (c = 0; c < dictEnum.values(); c++)
{
    info(strFmt('%1: %2', dictEnum.index2Symbol(c), dictEnum.index2Label(c)));
}

Lokhu kuzokhipha uphawu kanye nelebula lento ngayinye ku-enum ku-infolog.

Ukufunda Okuqhubekayo

Uma ukujabulele lokhu okuthunyelwe, ungaphinda uthande lezi ziphakamiso:


Yabelana ku-BlueskyYabelana ku-FacebookYabelana ku-LinkedInYabelana ku-TumblrYabelana ku-XYabelana ku-LinkedInPhina ku-Pinterest

Mikkel Christensen

Mayelana Nombhali

Mikkel Christensen
U-Mikkel ungumdali nomnikazi we-miklix.com. Unesipiliyoni seminyaka engaphezu kwengu-20 njengochwepheshe bezinhlelo zekhompyutha/unjiniyela wesoftware futhi njengamanje uqashwe ngokugcwele enkampanini enkulu ye-IT yaseYurophu. Lapho engabhali, uchitha isikhathi sakhe sokuphumula ezintweni eziningi azithandayo, azilibazisa, nemisebenzi, okungenzeka ngokwezinga elithile ibonakale ezihlokweni ezihlukahlukene ezitholakala kule webhusayithi.