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 dalam 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 assembly versi 1.0.0.0 dalam rakitan dengan nomor versi yang lebih tinggi. Terlepas dari versi rakitan baru, semua CLSID dalam perakitan 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 perakitan 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 rakitan 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 ke System.Runtime.InteropServices.GuidAttribute kelas untuk secara eksplisit mengatur CLSID-nya, ComCompatibleVersionAttribute
tidak berpengaruh.
Properti dari atribut ini digabungkan untuk membentuk empat bagian dari versi assembly. Selalu tentukan versi terendah yang kompatibel dengan assembly saat ini sehingga versi tersebut digunakan untuk menghitung semua CLSID dalam assembly.
Konstruktor
ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32) |
Menginisialisasi instans ComCompatibleVersionAttribute baru kelas dengan versi utama, versi minor, build, dan nomor revisi assembly. |
Properti
BuildNumber |
Mendapatkan nomor build assembly. |
MajorVersion |
Mendapatkan nomor versi utama assembly. |
MinorVersion |
Mendapatkan nomor versi minor dari assembly. |
RevisionNumber |
Mendapatkan nomor revisi assembly. |
TypeId |
Ketika diimplementasikan di kelas turunan, mendapatkan pengidentifikasi unik untuk ini Attribute. (Diperoleh dari Attribute) |
Metode
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 instans Type saat ini. (Diperoleh dari Object) |
IsDefaultAttribute() |
Ketika ditimpa di kelas turunan, menunjukkan apakah nilai instans ini adalah nilai default untuk kelas turunan. (Diperoleh dari Attribute) |
Match(Object) |
Saat ditimpa di kelas turunan, mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
_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) |