Retningsbestemmelser

Forfatter: Lewis Jackson
Oprettelsesdato: 8 Kan 2021
Opdateringsdato: 1 Juli 2024
Anonim
Innowell e-learning: Anatomibegreber omkring retningsbestemmelser
Video.: Innowell e-learning: Anatomibegreber omkring retningsbestemmelser

Indhold

Definition - Hvad betyder retningsbestemte attributter?

Retningsattributter, i C #, er mærker, der bruges til at specificere objektmetodeparametre (r) med information relateret til retningsstrømmen af ​​data mellem den, der ringer og callee.

Retningsattributter kontrollerer marskalkning - hvor et objekt er forberedt til overførsel over en applikations- eller procesgrænse - af metodeparameterne retning og returværdier. Retningsattributter anvendes til at ændre runtime marskalking under kommunikation af administreret kode, der udføres af Common Language Runtime (CLR) og uadministreret kode, der udføres uden for CLR's kontrol.


En introduktion til Microsoft Azure og Microsoft Cloud | Gennem denne vejledning lærer du, hvad cloud computing handler om, og hvordan Microsoft Azure kan hjælpe dig med at migrere og drive din virksomhed fra skyen.

Techopedia forklarer retningsbestemte attributter

InAttribute og OutAttribute er de to C # retningsattributter, der bruges til at kortlægge komponentobjektmodeller (COM) Interface Definition Language (IDL) attributter. InAttribute-kort til og OutAttribute-kort til. Den styrede metodesignatur returnerer værdikort til i et typebibliotek. Det er vigtigt at specificere den rigtige retningsattribut til metodeparametre, så biblioteket med eksporttype indstiller In / Out-bitene korrekt.

Ved at anvende InAttribute og OutAttribute i arrays og formaterede ikke-blive-typer (der ikke har fælles administreret og ikke-styret hukommelsesrepræsentation), ser den, der ringer callee ændringer. Retningsattributter anvendt på disse typer reducerer unødvendige kopier under marskalkning.

I C # bruges InAttribute og OutAttribute i tre former med to nøgleord under opkalds- og callee-kommunikation som følger:


  • "ud" - implikationer
  • "ref" - Implikationer,
  • (Ingen specificeret) - (som standard)

Ud- og ref-nøgleordene bruges til værdityper og serialiserbare referencetyper. Ref-søgeordet indebærer, at parameteren er marskalket i begge retninger, og ud indebærer callee-dataoverførsel. Når ref eller out ikke bruges, betyder dette, at data overføres til callee.

For eksempel angiver en .NET-klientapplikation en inputværdi til en COM-komponentmetode, der beregner inputværdieresultatet og returnerer resultatet til klienten. Retningsattributter kan anvendes på parametrene for metoden, der betjener anmodningen, ved at indikere den krævede marskingtype for inputværdi og resultat.

Retningsattributter har følgende egenskaber:

  • Valgfrit og anvendt på metodeparametre på designtidspunktet
  • Understøttes kun for COM interop og platform påberåber sig
  • InAttribute kan ikke anvendes til en parameter med et ud-søgeord

CLR interop-marshaler leverer marsjeringstjeneste ved kørsel ved at håndtere metodekaldsargumenter og returnere værdier mellem administreret og ustyret hukommelse. Hvis retningsattributter ikke er defineret, bestemmer marshaleren retningsstrømmen baseret på parametertypen og eventuel modifikator. Marshaleren fungerer på følgende måde:


  • Det overskriver ikke de data, der er videregivet som en "In" -parameter fra ikke-administreret kode. Således kan kun read-only data, som samtidig adgang til data, videregives.
  • Når du passerer objekter - såsom basale eller binære strenge (BSTR) - med etableret hukommelsesallokering, følges den korrekte allokerings- / deallokationssekvens i henhold til ind / ud-indstillinger.
Denne definition blev skrevet i C #