ComCompatibleVersionAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Indica a un client COM che tutte le classi nella versione corrente di un assembly sono compatibili con le classi in una versione precedente dell'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
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente viene illustrato come specificare la versione dell'assembly 1.0.0.0 in un assembly con un numero di versione superiore. Indipendentemente dalla nuova versione dell'assembly, tutti i CLSID nell'assembly vengono generati usando la versione 1.0.0.0 anziché la versione corrente dell'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
Commenti
È possibile applicare questo attributo agli assembly.
Per impostazione predefinita, il Tlbexp.exe (Utilità di esportazione libreria dei tipi) usa il numero di versione di un assembly per calcolare gli identificatori di classe (CLSID). Tutte le classi pubbliche e visibili a COM ricevono nuovi CLSID ogni volta che si esporta una nuova versione dell'assembly.
È possibile applicare l'attributo ComCompatibleVersionAttribute per forzare tutti i CLSID per le classi nella versione corrente di un assembly allo stesso modo dei CLSID per le classi in una versione precedente dell'assembly. Purché i CLSID rimangano invariati, un'applicazione COM legacy può usare la versione successiva di un assembly compatibile dopo la disinstallazione dell'assembly originale. Se si applica a System.Runtime.InteropServices.GuidAttribute una classe per impostare in modo esplicito il relativo CLSID, l'oggetto ComCompatibleVersionAttribute non ha alcun effetto.
Le proprietà di questo attributo vengono combinate per formare le quattro parti di una versione dell'assembly. Specificare sempre la versione più bassa con cui l'assembly corrente è compatibile con le versioni precedenti in modo che venga usata per calcolare tutti i CLSID nell'assembly.
Costruttori
| Nome | Descrizione |
|---|---|
| ComCompatibleVersionAttribute(Int32, Int32, Int32, Int32) |
Inizializza una nuova istanza della ComCompatibleVersionAttribute classe con la versione principale, la versione secondaria, la build e i numeri di revisione dell'assembly. |
Proprietà
| Nome | Descrizione |
|---|---|
| BuildNumber |
Ottiene il numero di build dell'assembly. |
| MajorVersion |
Ottiene il numero di versione principale dell'assembly. |
| MinorVersion |
Ottiene il numero di versione secondaria dell'assembly. |
| RevisionNumber |
Ottiene il numero di revisione dell'assembly. |
| TypeId |
Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute. (Ereditato da Attribute) |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
| GetHashCode() |
Restituisce il codice hash per questa istanza. (Ereditato da Attribute) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| IsDefaultAttribute() |
Quando sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute) |
| Match(Object) |
Quando sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di identificatori dispatch. (Ereditato da Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera le informazioni sul tipo per un oggetto, che può essere utilizzato per ottenere le informazioni sul tipo per un'interfaccia. (Ereditato da Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera il numero di interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornisce l'accesso alle proprietà e ai metodi esposti da un oggetto . (Ereditato da Attribute) |