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