ComCompatibleVersionAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Indique à un client COM que toutes les classes de la version actuelle d’un assembly sont compatibles avec les classes d’une version antérieure de l’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
- Héritage
- Attributs
Exemples
L’exemple suivant montre comment spécifier la version d’assembly 1.0.0.0 dans un assembly avec un numéro de version supérieur. Quelle que soit la nouvelle version de l’assembly, tous les CLSID de l’assembly sont générés à l’aide de la version 1.0.0.0.0 au lieu d’utiliser la version actuelle de l’assembly.
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
Remarques
Vous pouvez appliquer cet attribut aux assemblys.
Par défaut, le Tlbexp.exe (Exporteur de bibliothèque de types) utilise le numéro de version d’un assembly pour calculer les identificateurs de classe (CLSID). Toutes les classes publiques visibles par COM reçoivent de nouveaux CLSID chaque fois que vous exportez une nouvelle version d’assembly.
Vous pouvez appliquer l’attribut ComCompatibleVersionAttribute pour forcer tous les CLSID pour les classes dans la version actuelle d’un assembly à être identique aux CLSID pour les classes dans une version antérieure de l’assembly. Tant que les CLSID restent identiques, une application COM héritée peut utiliser la version ultérieure d’un assembly compatible après avoir désinstallé l’assembly d’origine. Si vous appliquez la System.Runtime.InteropServices.GuidAttribute valeur à une classe pour définir explicitement son CLSID, elle ComCompatibleVersionAttribute n’a aucun effet.
Les propriétés de cet attribut se combinent pour former les quatre parties d’une version d’assembly. Spécifiez toujours la version la plus basse avec laquelle l’assembly actuel est rétrocompatible afin que cette version soit utilisée pour calculer tous les CLSID dans l’assembly.
Constructeurs
| Nom | Description |
|---|---|
| ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32) |
Initialise une nouvelle instance de la ComCompatibleVersionAttribute classe avec la version principale, la version mineure, la build et les numéros de révision de l’assembly. |
Propriétés
| Nom | Description |
|---|---|
| BuildNumber |
Obtient le numéro de build de l’assembly. |
| MajorVersion |
Obtient le numéro de version principal de l’assembly. |
| MinorVersion |
Obtient le numéro de version secondaire de l’assembly. |
| RevisionNumber |
Obtient le numéro de révision de l’assembly. |
| TypeId |
En cas d’implémentation dans une classe dérivée, obtient un identificateur unique pour cette Attribute. (Hérité de Attribute) |
Méthodes
| Nom | Description |
|---|---|
| Equals(Object) |
Retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de Attribute) |
| GetHashCode() |
Retourne le code de hachage pour cette instance. (Hérité de Attribute) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| IsDefaultAttribute() |
En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut de la classe dérivée. (Hérité de Attribute) |
| Match(Object) |
En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de Attribute) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Récupère les informations de type d’un objet, qui peuvent être utilisées pour obtenir les informations de type d’une interface. (Hérité de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fournit l’accès aux propriétés et méthodes exposées par un objet. (Hérité de Attribute) |