ComCompatibleVersionAttribute Klasa
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Wskazuje klientowi COM, że wszystkie klasy w bieżącej wersji zestawu są zgodne z klasami we wcześniejszej wersji zestawu.
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
- Dziedziczenie
- Atrybuty
Przykłady
W poniższym przykładzie pokazano, jak określić wersję zestawu 1.0.0.0 w zestawie z wyższym numerem wersji. Niezależnie od nowej wersji zestawu wszystkie identyfikatory CLSID w zestawie są generowane przy użyciu wersji 1.0.0.0 zamiast używania bieżącej wersji zestawu.
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
Uwagi
Ten atrybut można zastosować do zestawów.
Domyślnie Tlbexp.exe (eksporter biblioteki typów) używa numeru wersji zestawu do obliczania identyfikatorów klas (CLSID). Wszystkie publiczne klasy widoczne dla modelu COM otrzymują nowe identyfikatory CLSID za każdym razem, gdy eksportujesz nową wersję zestawu.
Można zastosować atrybut, ComCompatibleVersionAttribute aby wymusić wszystkie identyfikatory CLSID dla klas w bieżącej wersji zestawu, aby być takie same jak identyfikatory CLSID dla klas we wcześniejszej wersji zestawu. Dopóki identyfikatory CLSID pozostaną takie same, starsza aplikacja COM może użyć nowszej wersji zgodnego zestawu po odinstalowaniu oryginalnego zestawu. Jeśli zastosujesz klasę System.Runtime.InteropServices.GuidAttribute do jawnego ustawienia jego identyfikatora CLSID, ComCompatibleVersionAttribute nie będzie to miało żadnego efektu.
Właściwości tego atrybutu łączą się w celu utworzenia czterech części wersji zestawu. Zawsze określ najniższą wersję, z którą bieżący zestaw jest zgodny z poprzednimi wersjami, aby obliczyć wszystkie identyfikatory CLSID w zestawie.
Konstruktorów
| Nazwa | Opis |
|---|---|
| ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32) |
Inicjuje ComCompatibleVersionAttribute nowe wystąpienie klasy przy użyciu wersji głównej, wersji pomocniczej, kompilacji i numerów poprawek zestawu. |
Właściwości
| Nazwa | Opis |
|---|---|
| BuildNumber |
Pobiera numer kompilacji zestawu. |
| MajorVersion |
Pobiera numer wersji głównej zestawu. |
| MinorVersion |
Pobiera numer wersji pomocniczej zestawu. |
| RevisionNumber |
Pobiera numer poprawki zestawu. |
| TypeId |
Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attributeelementu . (Dziedziczone od Attribute) |
Metody
| Nazwa | Opis |
|---|---|
| Equals(Object) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi. (Dziedziczone od Attribute) |
| GetHashCode() |
Zwraca wartość skrótu dla tego wystąpienia. (Dziedziczone od Attribute) |
| GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Dziedziczone od Object) |
| IsDefaultAttribute() |
Podczas zastępowania w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną dla klasy pochodnej. (Dziedziczone od Attribute) |
| Match(Object) |
Po przesłonięciu w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. (Dziedziczone od Attribute) |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Dziedziczone od Object) |
| ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Dziedziczone od Object) |
Implementacje interfejsów jawnych
| Nazwa | Opis |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. (Dziedziczone od Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Pobiera informacje o typie dla obiektu, który może służyć do pobierania informacji o typie dla interfejsu. (Dziedziczone od Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). (Dziedziczone od Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. (Dziedziczone od Attribute) |