Menggunakan IProvideClassInfo
Objek yang dapat dihubungkan dapat menawarkan antarmuka IProvideClassInfo dan IProvideClassInfo2 sehingga kliennya dapat dengan mudah memeriksa informasi jenisnya. Kemampuan ini penting saat berhadapan dengan antarmuka keluar, yang, menurut definisi, didefinisikan oleh objek tetapi diimplementasikan oleh klien pada objek sinknya sendiri. Dalam beberapa kasus, antarmuka keluar diketahui pada waktu kompilasi ke objek yang dapat dihubungkan dan objek sink; demikian halnya dengan IPropertyNotifySink.
Namun, dalam kasus lain, hanya objek yang dapat dihubungkan yang tahu definisi antarmuka keluarnya pada waktu kompilasi. Dalam kasus ini, klien harus mendapatkan informasi jenis untuk antarmuka keluar sehingga dapat secara dinamis menyediakan sink yang mendukung titik masuk yang tepat, sebagai berikut:
- Klien menghitung titik koneksi dan kemudian, untuk mendapatkan IID antarmuka keluar yang didukung oleh objek yang dapat dihubungkan, memanggil I Koneksi ionPoint::Get Koneksi ionInterface untuk setiap titik koneksi.
- Klien meminta objek yang dapat dihubungkan untuk salah satu antarmuka IProvideClassInfo.
- Klien memanggil metode di antarmuka IProvideClassInfo untuk mendapatkan informasi jenis untuk antarmuka keluar.
- Klien membuat objek sink yang mendukung antarmuka keluar.
- Proses berlanjut, dan klien memanggil I Koneksi ionPoint::Sarankan untuk menyambungkan sink-nya ke titik koneksi.
Dalam informasi jenis, sumber atribut menandai antarmuka atau dispinterface yang tercantum di bawah kolase sebagai antarmuka keluar. Yang tercantum tanpa atribut ini dianggap sebagai antarmuka masuk.
Topik terkait