Směrové atributy

Autor: Lewis Jackson
Datum Vytvoření: 8 Smět 2021
Datum Aktualizace: 25 Červen 2024
Anonim
Směrové atributy - Technologie
Směrové atributy - Technologie

Obsah

Definice - Co znamená Directional Atributes?

Směrové atributy, v C #, jsou značky používané k určení parametrů metody objektu s informacemi týkajícími se směrového toku dat mezi volajícím a volaným.

Směrové atributy řídí zařazování - tam, kde je objekt připraven k přenosu přes hranici aplikace nebo procesu - směr parametrů parametrů a návratové hodnoty. Směrové atributy se používají k úpravě runtime zařazování při komunikaci spravovaného kódu, který se provádí pomocí Common Language Runtime (CLR), a nespravovaného kódu, který se provádí mimo kontrolu CLR.


Úvod do Microsoft Azure a Microsoft Cloud | V této příručce se dozvíte, o čem cloud computing je a jak vám může Microsoft Azure pomoci migrovat a řídit podnikání z cloudu.

Techopedia vysvětluje směrové atributy

InAttribute a OutAttribute jsou dva směrové atributy C # používané k mapování na atributy IDL (Interface Definition Language Interface Object Model). Mapy atributů do a Mapy atributů do. Vrácená hodnota podpisu spravované metody se mapuje do knihovny typů. Je nezbytné zadat správný směrový atribut k parametrům metody, aby exportující knihovna typů správně nastavila vstupně / výstupní bity.

Při použití atributů InAttribute a OutAttribute v polích a formátovaných neblokovatelných typech (které nemají společné znázornění spravované a nespravované paměti), volající vidí změny v callee. Směrové atributy aplikované na tyto typy snižují zbytečné kopie během zařazování.

V C # jsou InAttribute a OutAttribute použity ve třech formách se dvěma klíčovými slovy během komunikace volajícího a volajícího takto:


  • "out" - naznačuje
  • "ref" - naznačuje,
  • (Není uvedeno) - (ve výchozím nastavení)

Klíčová slova out a ref se používají pro typy hodnot a typy serializovatelných odkazů. Klíčové slovo ref znamená, že parametr je zařazen v obou směrech, a out znamená přenos dat Callee. Pokud není použit odkaz nebo out, znamená to, že jsou data přenesena do callee.

Například klientská aplikace .NET je vstupní hodnotou pro metodu komponenty COM, která vypočítá výsledek vstupní hodnoty a vrátí výsledek klientovi. Směrové atributy lze aplikovat na parametry způsobu obsluhy požadavku uvedením požadovaného typu zařazování pro vstupní hodnotu a výsledek.

Směrové atributy mají následující vlastnosti:

  • Volitelné a aplikované na parametry metody v době návrhu
  • Podporováno pouze pro vyvolání interopu a platformy COM
  • InAttribute nelze použít na parametr s klíčovým slovem out

Interpreta maršálů CLR poskytuje službu řazení za běhu zpracováním argumentů volání metod a návratových hodnot mezi spravovanou a nespravovanou pamětí. Pokud nejsou definovány směrové atributy, určí maršál směrový tok na základě typu parametru a modifikátoru (pokud existuje). Marshaler pracuje následujícím způsobem:


  • Nepřepisuje data předaná jako parametr „In“ z nespravovaného kódu. Lze tedy předávat pouze data pouze pro čtení, stejně jako data přístupná současně.
  • Při předávání objektů - například základních nebo binárních řetězců (BSTR) - se zavedeným přidělením paměti se dodržuje správná alokační / deallokační sekvence podle nastavení In / Out.
Tato definice byla napsána v konu C #