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 T
saat 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.