Casa Desenvolupament Què són els atributs direccionals en c? - Definició de tecnologia

Què són els atributs direccionals en c? - Definició de tecnologia

Taula de continguts:

Anonim

Definició: què signifiquen els atributs direccionals?

Els atributs direccionals, en C #, són etiquetes que s'utilitzen per especificar paràmetres o mètodes d'objecte amb informació relacionada amb el flux direccional de dades entre la persona que truca i el carrer.


Els atributs direccionals controlen la marginació - on un objecte està preparat per a la seva transferència a través d'una aplicació o límit del procés - de la direcció i els valors de retorn del paràmetre del mètode. S’apliquen atributs direccionals per modificar el tancament d’execució mentre es comunica el codi gestionat, que és executat pel Common Language Runtime (CLR), i el codi no gestionat, que s’executa fora del control del CLR.

Techopedia explica els atributs direccionals

InAttribute i OutAttribute són els dos atributs direccionals C # que s'utilitzen per associar els atributs IDL (Component Interface Definition Language) del Model Object Object (COM). InAttribute mapes a, i OutAttribute mapes a. Els mapes de valor de devolució de signatura del mètode gestionat es troben a una biblioteca de tipus. És imprescindible especificar l'atribut direccional adequat als paràmetres del mètode, de manera que la biblioteca de tipus exportadora estableixi correctament els bits d'entrada / sortida.


Aplicant InAttribute i OutAttribute en matrius i tipus no formables no formables (que no tenen una representació de memòria gestionada i no gestionada comuna), la persona que truca veu canvis canviants. Els atributs direccionals aplicats a aquests tipus redueixen còpies innecessàries durant l’avortament.


A C #, InAttribute i OutAttribute s'utilitzen de tres formes amb dues paraules clau durant la comunicació de trucada i callee, de la següent manera:

  • "fora" - Implica
  • "ref" - Implica,
  • (Cap especificat) - (per defecte)

Les paraules clau de sortida i ref s’utilitzen per als tipus de valor i els tipus de referència serialitzables. La paraula clau ref implica que el paràmetre es barreja en ambdues direccions i que fora implica la transferència de dades del carrer. Quan no s'utilitzen ref o fora, això implica que les dades es transfereixen al carrer.


Per exemple, una aplicació client .NET envia un valor d’entrada a un mètode de component COM, que calcula el resultat del valor d’entrada i retorna el resultat al client. Es poden aplicar atributs direccionals als paràmetres del mètode per donar servei a la sol·licitud, indicant el tipus de marshaling necessari per al valor d'entrada i el resultat.


Els atributs de direcció tenen les següents característiques:

  • Opcional i aplicada als paràmetres del mètode en el moment del disseny
  • Només s'admet la invocació de la plataforma intercom i la plataforma COM
  • InAttribute no es pot aplicar a un paràmetre amb una paraula clau fora

El subministrador d'interrupció CLR proporciona un servei de màrqueting en temps d'execució mitjançant la manipulació d'arguments de trucada del mètode i valors de devolució entre la memòria gestionada i la no administrada. Si no es defineixen els atributs direccionals, el mariscal determina un flux direccional basat en el tipus de paràmetre i el modificador (si n'hi ha). El mariscal opera de la següent manera:

  • No sobreescriu les dades passades com a paràmetre "In" de codi no gestionat. Per tant, només es podran passar dades de només lectura, com ara les d’accés simultàniament.
  • Mentre es passen objectes, com les cadenes bàsiques o binàries (BSTR) - amb assignació de memòria establerta, se segueix la seqüència d'assignació / desajustament adequada segons els paràmetres In / Out.
Aquesta definició es va escriure en el context de C #
Què són els atributs direccionals en c? - Definició de tecnologia