ComCompatibleVersionAttribute Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Indica a um cliente COM que todas as classes na versão atual de um assembly são compatíveis com classes de uma versão anterior do assembly.
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
- Herança
- Atributos
Exemplos
O exemplo seguinte mostra como especificar a versão assembly 1.0.0.0 numa assembly com um número de versão superior. Independentemente da nova versão de assembly, todos os CLSIDs no assembly são gerados usando a versão 1.0.0.0 em vez da versão assembly atual.
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
Observações
Pode aplicar este atributo a assemblies.
Por defeito, o Tlbexp.exe (Type Library Exporter) usa o número de versão de um assembly para calcular identificadores de classe (CLSIDs). Todas as classes públicas, COM-visibles, recebem novos CLSIDs cada vez que exporta uma nova versão de assembly.
Pode aplicar o ComCompatibleVersionAttribute atributo para forçar que todos os CLSIDs para classes na versão atual de um assembly sejam iguais aos CLSIDs para classes numa versão anterior do assembly. Desde que os CLSIDs se mantenham iguais, uma aplicação COM legada pode usar a versão posterior de um assembly compatível depois de desinstalar o assembly original. Se aplicar o System.Runtime.InteropServices.GuidAttribute a uma classe para definir explicitamente o seu CLSID, não ComCompatibleVersionAttribute tem efeito.
As propriedades deste atributo combinam-se para formar as quatro partes de uma versão de montagem. Especifique sempre a versão mais baixa com a qual o conjunto atual é compatível com versões anteriores, para que essa versão seja usada para calcular todos os CLSIDs do conjunto.
Construtores
| Name | Description |
|---|---|
| ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32) |
Inicializa uma nova instância da ComCompatibleVersionAttribute classe com os números de versão principal, versão menor, build e revisão da assembleia. |
Propriedades
| Name | Description |
|---|---|
| BuildNumber |
Obtém o número de construção do conjunto. |
| MajorVersion |
Obtém o número principal da versão da assembleia. |
| MinorVersion |
Recebe o número de versão menor do assembly. |
| RevisionNumber |
Obtém o número de revisão da assembleia. |
| TypeId |
Quando implementado numa classe derivada, obtém um identificador único para esta Attribute. (Herdado de Attribute) |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| GetHashCode() |
Devolve o código de hash para esta instância. (Herdado de Attribute) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IsDefaultAttribute() |
Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
| Match(Object) |
Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface. (Herdado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |