Itthon Fejlesztés Mi a feltételes tulajdonság a c-ben? - meghatározás a techopedia alapján

Mi a feltételes tulajdonság a c-ben? - meghatározás a techopedia alapján

Tartalomjegyzék:

Anonim

Meghatározás - Mit jelent a feltételes attribútum?

A feltételes attribútum egy olyan módszer vagy osztály megjelölésére szolgáló címke, amelynek végrehajtása az előfeldolgozás azonosítójának meghatározásától függ.


A feltételes attribútum azt a feltételt jelöli, amely meghatározza a feltételes összeállítást, ahol a módszereket szelektíven hívják meg a szimbólumok meghatározása alapján. Utasítja a fordítót, hogy fordítson (a Microsoft köztes nyelvébe), vagy ne állítson össze meghatározott kódblokkokat, egy feltétel alapján - függetlenül attól, hogy egy adott feltételes fordítási szimbólum meghatározva van-e. Ha konkrét szimbólumokat nem határoztak meg a meghívásuk pillanatában, akkor a fordító figyelmen kívül hagyja az adott módszerre vagy osztályra irányuló hívásokat.

A Techopedia magyarázza a feltételes tulajdonságot

A feltételes attribútum a következő jellemzőkkel rendelkezik:

  • Alkalmazható módszerekre és osztályokra, de csak akkor, ha egy attribútumból származnak.
  • Miközben feltételes attribútumot alkalmazunk egy osztályra, az attribútum osztály csak akkor kerül a metaadatokba, ha a feltételes összeállítási szimbólum meg van határozva.
  • Egy paramétert vesz igénybe, amely az azonosító szimbólum, amely vezérli az összeállítást.
  • A feltételes módszerhez vagy attribútumosztályhoz továbbított argumentumokat a fordító típusellenőrzi.
  • Ez teljesen a fordító, és nem a futási idő.
  • Nem alkalmazható a küldött-létrehozó kifejezésben használt módszerre.
  • Nem befolyásolja a feltételes módszerhez generált kódot, hanem befolyásolja a módszer meghívását.

A feltételes attribútum deklaratív programozási mintát biztosít és segít a forráskód karbantartásában. Ha egy feltételes attribútumot alkalmazunk a metódus szintjén, akkor a forráskód jobban olvasható. A módszer hívójának nem kell további kódot vennie a feltételes összeállításhoz. A feltételes attribútum lehetővé teszi a nyomkövetési és naplózási funkciók nyomkövetési és naplózási funkcióinak lehetővé tételét a hibakeresési összeállításokban, a DEBUG azonosító segítségével az alkalmazáshoz kapcsolódó diagnosztikai információk megjelenítéséhez és naplózásához. Ezenkívül elősegíti a hibakeresési összetevők logikájának (a fejlesztéshez használt rendszerekben) elválasztását a kiadás-összeállításoktól, amelyek telepítve vannak a helyszíneken és az alkalmazásokban. A szoftver többszörös kiadásainak (bizonyos kiadásokban bizonyos funkciókkal) karbantartása nélkül, a kód feltöltés nélkül, a feltételes fordítás a megfelelő technikát hozza létre, amellyel az egyetlen fő forráskódot több kiadás számára fenntartják, a hozzájuk tartozó szimbólumok alapján.


A következő néhány szabályt kell betartani egy feltételes attribútum használatakor:

  • Az osztályon vagy a struktúra deklaráción belüli feltételes módszernek érvénytelennek kell lennie a visszatérési típusnak.
  • Miközben több azonosítót használunk feltételes attribútumként, a módszer (ek) bevonása a logikai VAGY vagy a logikai ÉS a meghatározott szimbólumok eredményén alapul.
  • Nem határozható meg egy interfész deklarációban szereplő módszernél.
  • Egy feltételes módszer nem vezethetõ el a "felülbírálás" kulcsszó elõtt, de lehet virtuális. Ha felülbírálják, azt implicit módon feltételesnek tekintik.
  • A feltételes összeállítás szempontjából figyelembe vett szimbólumokat fordító parancssori opciókként vagy környezeti változókként definiálhatjuk az operációs rendszer héjából, vagy pragmákként (a "#define" előfeldolgozó irányelv felhasználásával) a forráskódban.
  • A C ++-tól eltérően, a szimbólumok meghatározása a C # -ben bármilyen sorrendben lehet, ezért a "#define" és egy feltételes módszer közötti sorrendet megfelelően beállítani.

Bár a "#if és #endif" használata alternatív lehetőséget kínál a feltételes tulajdonságokra, az utóbbi tisztább, elegánsabb és kevésbé hibalehetőséget nyújt az előzőhöz képest. Belsőleg az a különbség, hogy miközben egy feltételes attribútumot használunk egy módszerhez, a módszer továbbra is az összeállítás része és nem lesz betöltve. De #if / #endif esetén a módszer nem lesz látható magában az összeállításban.

Ezt a meghatározást a C # összefüggésben írták
Mi a feltételes tulajdonság a c-ben? - meghatározás a techopedia alapján