Sadržaj:
Definicija - Što značenja usmjerenih atributa?
Atributi usmjerenja, u C #, oznake su koje se koriste za određivanje parametara ili načina metode objekta s informacijama koje se odnose na usmjereni tijek podataka između pozivatelja i pozivatelja.
Usmjereni atributi kontroliraju marširanje - gdje se objekt priprema za prijenos preko granice aplikacije ili vrijednosti - smjera parametara metode i vrijednosti povratka. Atributi usmjerenja primjenjuju se za modificiranje marša na vrijeme izvođenja za vrijeme komuniciranja upravljanog koda, koji se izvršava zajedničkim jezikom izvršenja (CLR) i neupravljanim kodom, a koji se izvodi izvan kontrole CLR-a.
Tehopedija objašnjava svojstva usmjerenja
InAttribute i OutAttribute su dva atributa C # usmjerenja koja se koriste za mapiranje atributa jezika IDL-a (COM) sučelja (COM) sučelja komponenta (COM). InAttribute karte na, a OutAttribute karte na. Vrijednost povratne vrijednosti potpisa upravljačke metode preslikava u biblioteku vrsta. Važno je odrediti ispravni atribut usmjerenja parametrima metode, kako bi knjižnica tipa izvoza pravilno postavila bitove U / I.
Primjenom InAttribute i OutAttribute u nizovima i formatiranim vrstama koje se ne mogu blatiti (koje nemaju zajedničko upravljano i neupravljano predstavljanje memorije) pozivatelj vidi promjene poziva. Atributi usmjerenja primijenjeni na ove vrste smanjuju nepotrebne kopije tijekom maršarenja.
U C # InAttribute i OutAttribute koriste se u tri oblika s dvije ključne riječi tijekom komunikacije pozivatelja i pozivatelja kako slijedi:
- "vani" - Implies
- "ref" - Implies,
- (Nije navedeno) - (zadano)
Izlazne i ref ključne riječi koriste se za vrste vrijednosti i serializabilne referentne tipove. Ključna riječ ref podrazumijeva da se parametar kombinira u oba smjera, a izlaz podrazumijeva prijenos podataka poziva. Ako se ref / out ne koriste, to znači da se podaci prenose na pozivanje.
Na primjer, .NET aplikacija klijenta šalje ulaznu vrijednost metodi COM komponente, koja izračunava rezultat ulazne vrijednosti i vraća rezultat klijentu. Atributi usmjerenja mogu se primijeniti na parametre metode servisiranja zahtjeva, naznačivanjem potrebne vrste marša za unos vrijednosti i rezultata.
Atributi usmjerenja imaju sljedeće karakteristike:
- Neobavezno i primjenjuje se na parametre metode u vrijeme projektiranja
- Podržane su samo za COM interop i pozive na platformu
- InAttribute se ne može primijeniti na parametar s ključnom riječi
CLR interop maršaler pruža uslugu marša za vrijeme izvođenja rukovanjem argumentima poziva metode i povratnim vrijednostima između upravljane i neupravljane memorije. Ako atributi usmjerenja nisu definirani, alat za usmjeravanje određuje usmjereni protok na temelju vrste parametra i modifikatora (ako postoje). Maršal djeluje na sljedeći način:
- Ne prepisuje podatke proslijeđene kao "In" parametar iz neupravljanog koda. Dakle, mogu se prosljeđivati samo podaci samo za čitanje, poput istodobnih podataka.
- Za vrijeme prosljeđivanja objekata - kao što su osnovni ili binarni nizovi (BSTR) - s uspostavljenom raspodjelom memorije, slijedi se pravilan slijed dodjele / rasporeda prema postavkama U / I.
