Атрибути за насочване

Автор: Lewis Jackson
Дата На Създаване: 8 Може 2021
Дата На Актуализиране: 1 Юли 2024
Anonim
Что категорически нельзя держать на столе! Никогда не держите это на столе! Народные приметы
Видео: Что категорически нельзя держать на столе! Никогда не держите это на столе! Народные приметы

Съдържание

Определение - Какво означават посочените атрибути?

Атрибутите за насочване в C # са маркери, използвани за определяне на параметър (и) на обектния метод с информация, свързана с насочен поток на данни между повикващия и повикващия.

Насочените атрибути контролират маршалинг - където обект е подготвен за прехвърляне през границата на приложението или процеса - на посоката на параметрите на метода и стойностите на връщането. Атрибутите за насочване се прилагат за модифициране на преобразуване на време на изпълнение по време на комуникация на управляван код, който се изпълнява от общия език на изпълнение (CLR) и неуправляем код, който се изпълнява извън контрола на CLR.


Въведение в Microsoft Azure и Microsoft Cloud | В това ръководство ще научите за какво се занимава компютърните изчисления и как Microsoft Azure може да ви помогне да мигрирате и стартирате бизнеса си от облака.

Техопедия обяснява посоките на посоката

InAttribute и OutAttribute са двата направления на C # атрибути, използвани за картографиране на атрибутите на езика за определяне на интерфейс на компонентните модели (COM) на интерфейс (COM). InAttribute карти към, и OutAttribute карти към. Управляваният метод връща стойността на подписа, се преобразува в библиотека тип Важно е да определите правилния атрибут за насочване към параметрите на метода, така че библиотеката от тип експортиране правилно да задава битовете за вход и изход.

Прилагайки InAttribute и OutAttribute в масиви и форматирани не-блитващи типове (които нямат общо управлявано и неуправлявано представяне на паметта), обаждащият се вижда промени на повикващите. Атрибутите за насочване, приложени към тези типове, намаляват ненужните копия по време на маршируването.

В C # InAttribute и OutAttribute се използват в три форми с две ключови думи по време на комуникация на повикващия и повикващ, както следва:


  • "навън" - Implies
  • "ref" - Implies,
  • (Не е посочено) - (по подразбиране)

Ключовите думи out и ref се използват за типове стойности и сериализируеми референтни типове. Ключовата дума ref означава, че параметърът е поставен в двете посоки и out означава прехвърляне на данни на callee. Когато ref или out не се използват, това означава, че данните се прехвърлят на извикващия.

Например, .NET клиентско приложение s въвежда стойност на метод на COM компонент, който изчислява резултата от стойността на входната стойност и връща резултата на клиента. Атрибутите за насочване могат да бъдат приложени към параметрите на метода, обслужващ заявката, чрез посочване на необходимия тип преобразуване за входна стойност и резултат.

Атрибутите за насочване имат следните характеристики:

  • Незадължително и се прилага към параметрите на метода по време на проектиране
  • Поддържа се само за COM interop и извикване на платформа
  • InAttribute не може да бъде приложен към параметър с външна ключова дума

CLR interop marshaler предоставя услуга за маршалиране по време на изпълнение, като обработва аргументи за извикване на метода и връща стойности между управлявана и неуправляема памет. Ако атрибутите за насочване не са дефинирани, маршалерът определя насочен поток въз основа на типа параметър и модификатор (ако има такъв). Маршалът работи по следния начин:


  • Той не презаписва данните, предадени като "In" параметър от неуправляем код. По този начин могат да се предават само данни само за четене, като едновременно достъп до данни.
  • Докато предавате обекти - като основни или двоични низове (BSTR) - с установено разпределение на паметта, правилната последователност на разпределение / разместване се следва в съответствие с настройките за вход / изход.
Това определение е написано в рамките на C #