ComCompatibleVersionAttribute クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アセンブリの現在のバージョンのすべてのクラスが、以前のバージョンのアセンブリのクラスと互換性があることを 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 は無効になります。
この属性のプロパティは、アセンブリ バージョンの 4 つの部分を形成するために結合されます。 アセンブリ内のすべての 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) |