Bagikan melalui


ComCompatibleVersionAttribute Kelas

Definisi

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
ComCompatibleVersionAttribute
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)

Berlaku untuk

Lihat juga