ComCompatibleVersionAttribute Класс

Определение

Показывает клиенту COM, что все классы текущей версии сборки совместимы с классами в более ранней версии сборки.

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
Наследование
ComCompatibleVersionAttribute
Атрибуты

Примеры

В следующем примере показано, как указать сборку версии 1.0.0.0 в сборке с более высоким номером версии. Независимо от новой версии сборки все clSID в сборке создаются с помощью версии 1.0.0.0.0 вместо использования текущей версии сборки.

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

Комментарии

Этот атрибут можно применить к сборкам.

По умолчанию Tlbexp.exe (средство экспорта библиотек типов) использует номер версии сборки для вычисления идентификаторов классов (CLSID). Все открытые классы COM-видимых классов получают новые CLSID каждый раз при экспорте новой версии сборки.

Атрибут можно применить для принудительного применения ComCompatibleVersionAttribute всех идентификаторов CLSID для классов в текущей версии сборки так же, как и CLSID для классов в более ранней версии сборки. Пока clSID остаются прежними, устаревшее COM-приложение может использовать более позднюю версию совместимой сборки после удаления исходной сборки. Если вы применяете System.Runtime.InteropServices.GuidAttribute к классу явным образом значение CLSID, оно не оказывает никакого ComCompatibleVersionAttribute влияния.

Свойства этого атрибута объединяются для формирования четырех частей версии сборки. Всегда указывайте самую низкую версию, с которой текущая сборка является обратной совместимой, чтобы версия использовалась для вычисления всех CLSID в сборке.

Конструкторы

ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32)

Инициализирует новый экземпляр класса ComCompatibleVersionAttribute, используя основной и дополнительный номера версий, номер построения и номер редакции сборки.

Свойства

BuildNumber

Получает номер построения сборки.

MajorVersion

Получает основной номер версии сборки.

MinorVersion

Получает дополнительный номер версии сборки.

RevisionNumber

Получает номер редакции сборки.

TypeId

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.

(Унаследовано от Attribute)

Методы

Equals(Object)

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код данного экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.

(Унаследовано от Attribute)

Применяется к

См. также раздел