Преглед садржаја:
Дефиниција - Шта значе усмерени атрибути?
Атрибути усмјерења, у Ц #, су ознаке које се користе за одређивање параметара (а) објектне методе с информацијама које се односе на усмјерени ток података између позиваоца и позиватеља.
Усмјерени атрибути контролирају марширање - гдје је објект припремљен за пријенос преко границе апликације или вриједности - смјера и повратних вриједности параметра методе. Атрибути усмеравања примењују се за модификовање маршлинга извршавања током комуникације управљаног кода, који се извршава у заједничком језику рунтиме-а (ЦЛР) и неуправљаним кодом, који се извршава изван контроле ЦЛР-а.
Тецхопедиа објашњава смерне атрибуте
ИнАттрибуте и ОутАттрибуте су два Ц # атрибута смера који се користе за мапирање у атрибуте ИДЛ-а (ЦОМ) интерфејса (ИД) интерфејса компонента (ЦОМ). ИнАттрибуте мапе у, а ОутАттрибуте мапе у. Повратна вриједност потписа потписа управљане методе пресликава се у библиотеку типова. Битно је одредити исправни атрибут усмјерења параметрима методе, тако да библиотека типа извоза правилно поставља улазне / излазне битове.
Применом ИнАттрибуте и ОутАттрибуте у низовима и форматираним типовима који не могу да се блефирају (који немају заједничко управљање и неуправљано представљање меморије), позивалац примећује промене позива. Атрибути усмјерења примијењени на ове врсте смањују непотребне копије тијеком маршарења.
У Ц #, ИнАттрибуте и ОутАттрибуте се користе у три облика са две кључне речи током комуникације позиваоца и позиваоца, као што следи:
- "напоље" - Имплиес
- "реф" - Имплиес,
- (Није наведено) - (подразумевано)
Кључне речи оут и реф користе се за типове вредности и референтне типове сериализа. Кључна реч реф подразумева да се параметар маршира у оба смера, а ван подразумева пренос података позива. Ако се реф / офф не користе, то подразумева да се подаци преносе у позиваоца.
На примјер, .НЕТ апликација клијента шаље улазну вриједност методом ЦОМ компоненте, која израчунава резултат улазне вриједности и враћа резултат клијенту. Атрибути усмјерења могу се примијенити на параметре методе који сервисира захтјев наводећи потребан тип маршала за улазну вриједност и резултат.
Атрибутивни услови имају следеће карактеристике:
- Необвезно и примењује се на параметре методе у време пројектовања
- Подржане су само за ЦОМ интероп и позивање на платформу
- ИнАттрибуте се не може применити на параметар са неком кључном речју
ЦЛР интероп маршал нуди услугу маршавања током извођења руковањем аргументима позива методе и повратним вриједностима између управљане и неуправљане меморије. Ако атрибути усмјерења нису дефинирани, маршал ће одредити проток усмјерења на темељу врсте параметра и модификатора (ако постоје). Маршал ради на следећи начин:
- Не преписује податке прослеђене као "Ин" параметар из неуправљаног кода. Стога се могу просљеђивати само подаци само за читање, попут паралелних података којима се приступа.
- Приликом просљеђивања објеката - као што су основни или бинарни низови (БСТР) - са успостављеном расподјелом меморије, слиједи правилан слијед додјеле / размјештања према поставкама У / И.
