ComCompatibleVersionAttribute Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menunjukkan kepada klien COM bahwa semua kelas dalam versi rakitan saat ini kompatibel dengan kelas di versi perakitan yang lebih lama.
public ref class ComCompatibleVersionAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
public sealed class ComCompatibleVersionAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ComCompatibleVersionAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)>]
type ComCompatibleVersionAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ComCompatibleVersionAttribute = class
inherit Attribute
Public NotInheritable Class ComCompatibleVersionAttribute
Inherits Attribute
- Warisan
- Atribut
Contoh
Contoh berikut menunjukkan cara menentukan rakitan versi 1.0.0.0 dalam rakitan dengan nomor versi yang lebih tinggi. Terlepas dari versi rakitan baru, semua CLSID dalam rakitan dihasilkan menggunakan versi 1.0.0.0 alih-alih menggunakan versi rakitan saat ini.
using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;
[assembly: AssemblyVersion("3.0.0.0")];
[assembly: ComCompatibleVersion(1,0,0,0)];
namespace MyNamespace
{
public ref class TheClass
{
// Insert code.
};
};
using System;
using System.Reflection;
using System.Runtime.InteropServices;
[assembly: AssemblyVersion("3.0.0.0")]
[assembly: ComCompatibleVersion(1,0,0,0)]
namespace MyNamespace
{
public class TheClass
{
// Insert code.
}
}
Imports System.Reflection
Imports System.Runtime.InteropServices
<assembly: AssemblyVersion("3.0.0.0")>
<assembly: ComCompatibleVersion(1,0,0,0)>
Namespace MyNamespace
Public Class TheClass
' Insert code.
End Class
End Namespace
Keterangan
Anda dapat menerapkan atribut ini ke rakitan.
Secara default, Tlbexp.exe (Pengekspor Pustaka Jenis) menggunakan nomor versi rakitan untuk menghitung pengidentifikasi kelas (CLSID). Semua kelas publik yang terlihat COM menerima CLSID baru setiap kali Anda mengekspor versi rakitan baru.
Anda dapat menerapkan ComCompatibleVersionAttribute atribut untuk memaksa semua CLSID untuk kelas dalam versi rakitan saat ini agar sama dengan CLSID untuk kelas dalam versi perakitan yang lebih lama. Selama CLSID tetap sama, aplikasi COM warisan dapat menggunakan versi rakitan yang kompatibel setelah Anda menghapus instalasi rakitan asli. Jika Anda menerapkan System.Runtime.InteropServices.GuidAttribute ke kelas untuk secara eksplisit mengatur CLSID-nya, ComCompatibleVersionAttribute tidak berpengaruh.
Properti atribut ini digabungkan untuk membentuk empat bagian dari versi rakitan. Selalu tentukan versi terendah yang kompatibel dengan assembly saat ini sehingga versi tersebut digunakan untuk menghitung semua CLSID dalam rakitan.
Konstruktor
| Nama | Deskripsi |
|---|---|
| ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32) |
Menginisialisasi instans ComCompatibleVersionAttribute baru kelas dengan versi utama, versi minor, build, dan nomor revisi rakitan. |
Properti
| Nama | Deskripsi |
|---|---|
| BuildNumber |
Mendapatkan nomor build rakitan. |
| MajorVersion |
Mendapatkan nomor versi utama rakitan. |
| MinorVersion |
Mendapatkan nomor versi minor dari rakitan. |
| RevisionNumber |
Mendapatkan nomor revisi rakitan. |
| TypeId |
Ketika diimplementasikan dalam kelas turunan, mendapatkan pengidentifikasi unik untuk Attributeini. (Diperoleh dari Attribute) |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
| GetHashCode() |
Mengembalikan kode hash untuk instans ini. (Diperoleh dari Attribute) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| IsDefaultAttribute() |
Ketika ditimpa dalam kelas turunan, menunjukkan apakah nilai instans ini adalah nilai default untuk kelas turunan. (Diperoleh dari Attribute) |
| Match(Object) |
Saat ditimpa dalam kelas turunan, mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai. (Diperoleh dari Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Mengambil informasi jenis untuk objek, yang dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka. (Diperoleh dari Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1). (Diperoleh dari Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Menyediakan akses ke properti dan metode yang diekspos oleh objek. (Diperoleh dari Attribute) |