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
- Наследование
- Атрибуты
Примеры
В следующем примере показано, как указать версию сборки 1.0.0.0 в сборке с более высоким номером версии. Независимо от новой версии сборки, все идентификаторы CLSID в сборке создаются с использованием версии 1.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) |