Rumah Pembangunan Apakah sifat-sifat arah dalam c? - definisi dari techopedia

Apakah sifat-sifat arah dalam c? - definisi dari techopedia

Isi kandungan:

Anonim

Definisi - Apa maksud Artik Arah?

Atribut arah, dalam C #, adalah tag yang digunakan untuk menentukan parameter kaedah objek dengan maklumat yang berkaitan dengan aliran arah data antara pemanggil dan callee.


Atribut arah kawalan marshaling - di mana objek disediakan untuk pemindahan seluruh aplikasi atau sempadan proses - dari parameter parameter arah dan nilai pulangan. Atribut arah diterapkan untuk mengubah marshaling runtime semasa berkomunikasi kod terurus, yang dilaksanakan oleh Runtime Language Common (CLR), dan kod yang tidak dikelola, yang dijalankan di luar kendali CLR.

Techopedia menerangkan Atribut Terarah

InAttribute dan OutAttribute adalah dua atribut arah # C yang digunakan untuk memetakan kepada sifat-sifat Pengertian Antara Bahasa Komponen (COM) Interface Object (IDL) Model. Peta InAttribute ke, dan peta OutAttribute ke. Peta nilai pulangan tanda tangan yang dikelola ke dalam perpustakaan jenis. Adalah penting untuk menentukan atribut petunjuk tepat kepada parameter kaedah, supaya perpustakaan jenis pengeksport dengan betul menetapkan bit In / Out.


Dengan menggunakan InAttribute dan OutAttribute dalam tatasusunan dan jenis tidak boleh blittable (yang tidak mempunyai perwakilan memori yang diurus dan tidak dikendalikan bersama), pemanggil melihat perubahan callee. Atribut arah yang digunakan untuk jenis ini mengurangkan salinan yang tidak perlu semasa marshaling.


Dalam C #, InAttribute dan OutAttribute digunakan dalam tiga bentuk dengan dua kata kunci semasa komunikasi pemanggil dan callee, seperti berikut:

  • "keluar" - Berkenaan
  • "ref" - Berkenaan,
  • (Tiada dinyatakan) - (secara lalai)

Kata kunci keluar dan ref digunakan untuk jenis nilai dan jenis rujukan bersiri. Kata kunci ref menyifatkan bahawa parameter itu ditumpuk dalam kedua-dua arah, dan keluar menunjukkan pemindahan data callee. Apabila ref atau tidak digunakan, ini bermakna data dipindahkan ke callee.


Sebagai contoh, aplikasi klien .NET menghantar nilai input kepada kaedah komponen COM, yang mengira hasil nilai input dan mengembalikan hasil kepada klien. Atribut arah boleh digunakan pada parameter kaedah servis permintaan dengan menunjukkan jenis marshaling yang diperlukan untuk nilai input dan hasil.


Atribut arah mempunyai ciri-ciri berikut:

  • Pilihan dan digunakan pada parameter kaedah pada masa reka bentuk
  • Disokong untuk interop COM dan platform sahaja
  • InAttribute tidak boleh digunakan pada parameter dengan kata kunci keluar

Para marshaler interop CLR menyediakan perkhidmatan marshaling pada masa yang sama dengan mengendalikan hujah-hujah panggilan kaedah dan mengembalikan nilai-nilai antara memori yang diuruskan dan tidak diatur. Jika atribut arah tidak ditakrifkan, marshaler menentukan aliran arah berdasarkan jenis parameter dan pengubah (jika ada). Para marshaler beroperasi dengan cara berikut:

  • Ia tidak menulis ganti data yang diluluskan sebagai parameter "Dalam" dari kod yang tidak dikendalikan. Oleh itu, hanya data baca sahaja, seperti data yang diakses secara serentak, boleh diluluskan.
  • Semasa lulus objek - seperti rentetan asas atau binary (BSTR) - dengan peruntukan memori yang ditubuhkan, urutan peruntukan / deallocation yang betul diikuti mengikut tetapan In / Out.
Takrif ini ditulis dalam konteks C #
Apakah sifat-sifat arah dalam c? - definisi dari techopedia