Platform::Kelas Agile

Mewakili objek yang memiliki MashalingBehavior=Standard sebagai objek agile, yang sangat mengurangi kemungkinan pengecualian utas runtime. Agile<T> memungkinkan objek non-agile untuk memanggil, atau dipanggil dari, sama atau utas yang berbeda. Untuk informasi selengkapnya, lihat Threading dan Marshaling.

Sintaks

template <typename T>
class Agile;

Parameter

T
Nama jenis untuk kelas non-tangkas.

Keterangan

Sebagian besar kelas di Windows Runtime tangkas. Objek agile dapat memanggil, atau dipanggil oleh, objek in-proc atau out-of-proc di utas yang sama atau berbeda. Jika objek tidak tangkas, bungkus objek non-tangkas dalam Agile<T> objek, yang gesar. Agile<T> Kemudian objek dapat di-marshal, dan objek non-agile yang mendasar dapat digunakan.

Kelas Agile<T> ini adalah kelas C++ standar asli dan memerlukan agile.h. Ini mewakili objek non-agile dan konteks objek Agile. Konteks menentukan model utas objek yang tangkas dan perilaku marshaling. Sistem operasi menggunakan konteks untuk menentukan cara melakukan marshal objek.

Anggota

Konstruktor Publik

Nama Deskripsi
Tangkas::Agile Menginisialisasi instans baru kelas Agile.
Agile::~Agile Destructor Menghancurkan instans kelas Agile saat ini.

Metode Publik

Nama Deskripsi
Agile::Get Mengembalikan handel ke objek yang diwakili oleh objek Agile saat ini.
Agile::GetAddressOf Menginisialisasi ulang objek Agile saat ini, lalu mengembalikan alamat handel ke objek jenis T.
Agile::GetAddressOfForInOut Mengembalikan alamat handel ke objek yang diwakili oleh objek Agile saat ini.
Agile::Release Membuang objek Agile saat ini yang mendasar objek dan konteks.

Operator Publik

Nama Deskripsi
Agile::operator-> Mengambil handel ke objek yang diwakili oleh objek Agile saat ini.
Agile::operator= Menetapkan nilai yang ditentukan ke objek Agile saat ini.

Hierarki Warisan

Object

Agile

Persyaratan

Klien minimum yang didukung: Windows 8

Server minimum yang didukung: Windows Server 2012

Namespace: Platform

Header: agile.h

Agile::Agile Constructor

Menginisialisasi instans baru kelas Agile.

Sintaks

Agile();
Agile(T^ object);
Agile(const Agile<T>& object);
Agile(Agile<T>&& object);

Parameter

T
Jenis yang ditentukan oleh parameter nama jenis templat.

object
Di versi kedua konstruktor ini, objek yang digunakan untuk menginisialisasi instans Agile baru. Di versi ketiga, objek yang disalin ke instans Agile baru. Dalam versi keempat, objek yang dipindahkan ke instans Agile baru.

Keterangan

Versi pertama konstruktor ini adalah konstruktor default. Versi kedua menginisialisasi kelas instans Agile baru dari objek yang ditentukan oleh object parameter . Versi ketiga adalah konstruktor salinan. Versi keempat adalah konstruktor pemindahan. Konstruktor ini tidak dapat melemparkan pengecualian.

Agile::~Agile Destructor

Menghancurkan instans kelas Agile saat ini.

Sintaks

~Agile();

Keterangan

Destruktor ini juga merilis objek yang diwakili oleh objek Agile saat ini.

Agile::Get Method

Mengembalikan handel ke objek yang diwakili oleh objek Agile saat ini.

Sintaks

T^ Get() const;

Tampilkan Nilai

Handel ke objek yang diwakili oleh objek Agile saat ini.

Jenis nilai pengembalian sebenarnya adalah jenis internal yang tidak diungkapkan. Cara mudah untuk menahan nilai pengembalian adalah dengan menetapkannya ke variabel yang dideklarasikan dengan auto kata kunci pengurangan jenis. Contohnya, auto x = myAgileTvariable->Get();.

Agile::GetAddressOf Method

Menginisialisasi ulang objek Agile saat ini, lalu mengembalikan alamat handel ke objek jenis T.

Sintaks

T^* GetAddressOf() throw();

Parameter

T
Jenis yang ditentukan oleh parameter nama jenis templat.

Tampilkan Nilai

Alamat handel ke objek jenis T.

Keterangan

Operasi ini merilis representasi objek jenis Tsaat ini , jika ada; menginisialisasi ulang anggota data objek Agile; memperoleh konteks utas saat ini; lalu mengembalikan alamat variabel handle-to-object yang dapat mewakili objek non-agile. Untuk menyebabkan instans kelas Agile mewakili objek, gunakan operator penugasan (Agile::operator=) untuk menetapkan objek ke instans kelas Agile.

Agile::GetAddressOfForInOut Method

Mengembalikan alamat handel ke objek yang diwakili oleh objek Agile saat ini.

Sintaks

T^* GetAddressOfForInOut()  throw();

Parameter

T
Jenis yang ditentukan oleh parameter nama jenis templat.

Tampilkan Nilai

Alamat handel ke objek yang diwakili oleh objek Agile saat ini.

Keterangan

Operasi ini memperoleh konteks utas saat ini dan kemudian mengembalikan alamat handel ke objek yang mendasar.

Agile::Release Method

Membuang objek Agile saat ini yang mendasar objek dan konteks.

Sintaks

void Release() throw();

Keterangan

Objek dan konteks yang mendasar objek Agile saat ini dibuang, jika ada, lalu nilai objek Agile diatur ke null.

Agile::operator-> Operator

Mengambil handel ke objek yang diwakili oleh objek Agile saat ini.

Sintaks

T^ operator->() const throw();

Tampilkan Nilai

Handel ke objek yang diwakili oleh objek Agile saat ini.

Operator ini benar-benar mengembalikan jenis internal yang tidak diungkapkan. Cara mudah untuk menahan nilai pengembalian adalah dengan menetapkannya ke variabel yang dideklarasikan dengan auto kata kunci pengurangan jenis.

Agile::operator= Operator

Menetapkan objek yang ditentukan ke objek Agile saat ini.

Sintaks

Agile<T> operator=( T^ object ) throw();
Agile<T> operator=( const Agile<T>& object ) throw();
Agile<T> operator=( Agile<T>&& object ) throw();
T^ operator=( IUnknown* lp ) throw();

Parameter

T
Jenis yang ditentukan oleh nama jenis templat.

object
Objek atau handel ke objek yang disalin atau dipindahkan ke objek Agile saat ini.

Lp
Penunjuk antarmuka IUnknown objek.

Tampilkan Nilai

Handel ke objek jenis T

Keterangan

Versi pertama operator penugasan menyalin handel ke jenis referensi ke objek Agile saat ini. Versi kedua menyalin referensi ke jenis Agile ke objek Agile saat ini. Versi ketiga memindahkan jenis Agile ke objek Agile saat ini. Versi keempat memindahkan penunjuk ke objek COM ke objek Agile saat ini.

Operasi penugasan secara otomatis mempertahankan konteks objek Agile saat ini.

Baca juga

Platform Namespace