ComVisibleAttribute クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<AttributeUsageAttribute(AttributeTargets.Assembly Or AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Enum Or AttributeTargets.Method Or AttributeTargets.Property Or AttributeTargets.Field Or AttributeTargets.Interface Or AttributeTargets.Delegate, Inherited:=False)> _ <ComVisibleAttribute(True)> _ Public NotInheritable Class ComVisibleAttribute Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Interface|AttributeTargets.Delegate, Inherited=false)] [ComVisibleAttribute(true)] public sealed class ComVisibleAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Assembly|AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Enum|AttributeTargets::Method|AttributeTargets::Property|AttributeTargets::Field|AttributeTargets::Interface|AttributeTargets::Delegate, Inherited=false)] [ComVisibleAttribute(true)] public ref class ComVisibleAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Interface|AttributeTargets.Delegate, Inherited=false) */ /** @attribute ComVisibleAttribute(true) */ public final class ComVisibleAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Interface|AttributeTargets.Delegate, Inherited=false) ComVisibleAttribute(true) public final class ComVisibleAttribute extends Attribute

この属性は、アセンブリ、インターフェイス、クラス、構造体、デリゲート、列挙体、フィールド、メソッド、またはプロパティに適用できます。
既定値は true です。これは、マネージ型が COM から参照できることを示します。この属性は、パブリック マネージ アセンブリとパブリック マネージ型を参照可能にする場合には必要ありません。これらは、既定で COM から参照できます。参照可能にできるのは public 型だけです。この属性を使用して、internal 型または protected 型を COM から参照可能にしたり、参照不可能な型のメンバを参照可能にしたりすることはできません。
アセンブリに対してこの属性を false に設定すると、そのアセンブリ内のすべての public 型を参照できなくなります。アセンブリ内の型を個別に参照可能にするには、個々の型に対して true を設定します。特定の型に対してこの属性を false に設定すると、その型とメンバを参照できなくなります。ただし、参照不可能な型のメンバを参照可能にすることはできません。この属性が false に設定された型は、タイプ ライブラリにエクスポートできません。また、クラスの場合は登録できなくなります。インターフェイスの場合は、アンマネージの QueryInterface の呼び出しに対して応答しなくなります。
クラスおよびそのメンバが明示的に false に設定されていない限り、継承したクラスでは、元のクラスで参照不可能だった基本クラスのメンバを COM に公開できます。たとえば、ClassA を false に設定し、そのメンバにはこの属性を適用しなかった場合、ClassA とそのメンバを COM が参照することはできません。しかし、ClassA から継承して ClassB を作成し、ClassB を COM にエクスポートすると、ClassA のメンバは、ClassB の基本クラスのメンバとして参照可能になります。

COM に対するクラスの参照可能範囲を制御して、そのメンバを参照不可能にする方法を次の例に示します。MyClass では ComVisibleAttribute を false に設定し、MyMethod と MyProperty では false を設定することにより、継承を通じて意図せずメンバが COM に公開されることを防ぐことができます。
Imports System.Runtime.InteropServices <ComVisible(False)> _ Class SampleClass Public Sub New() 'Insert code here. End Sub <ComVisible(False)> _ Public Function MyMethod(param As String) As Integer Return 0 End Function Public Function MyOtherMethod() As Boolean Return True End Function <ComVisible(False)> _ Public ReadOnly Property MyProperty() As Integer Get Return MyProperty End Get End Property End Class
using System.Runtime.InteropServices; [ComVisible(false)] class MyClass { public MyClass() { //Insert code here. } [ComVisible(false)] public int MyMethod(string param) { return 0; } public bool MyOtherMethod() { return true; } [ComVisible(false)] public int MyProperty { get { return MyProperty; } } }
using namespace System::Runtime::InteropServices; [ComVisible(false)] ref class MyClass { private: int myProperty; public: MyClass() { //Insert code here. } [ComVisible(false)] int MyMethod( String^ param ) { return 0; } bool MyOtherMethod() { return true; } property int MyProperty { [ComVisible(false)] int get() { return myProperty; } } };
import System.Runtime.InteropServices.*; /** @attribute ComVisible(false) */ class MyClass { public MyClass() { //Insert code here. } //MyClass /** @attribute ComVisible(false) */ public int MyMethod(String param) { return 0; } //MyMethod public boolean MyOtherMethod() { return true; } //MyOtherMethod /** @attribute ComVisible(false) */ /** @property */ public int get_MyProperty() { return get_MyProperty(); }//get_MyProperty } //MyClass
import System.Runtime.InteropServices; ComVisible(false) class MyClass { public function MyClass() { //Insert code here. } ComVisible(false) public function MyMethod(param : String) : int { return 0; } public function MyOtherMethod() : boolean { return true; } ComVisible(false) public function get MyProperty() : int { return MyProperty; } }

System.Attribute
System.Runtime.InteropServices.ComVisibleAttribute


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ComVisibleAttribute コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)

Public Sub New ( _ visibility As Boolean _ )
Dim visibility As Boolean Dim instance As New ComVisibleAttribute(visibility)
public ComVisibleAttribute ( bool visibility )
public: ComVisibleAttribute ( bool visibility )
public ComVisibleAttribute ( boolean visibility )
public function ComVisibleAttribute ( visibility : boolean )


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ComVisibleAttribute プロパティ

名前 | 説明 | |
---|---|---|
![]() | TypeId | 派生クラスに実装されている場合は、この Attribute の一意の識別子を取得します。 ( Attribute から継承されます。) |
![]() | Value | COM 型が参照可能かどうかを示す値を取得します。 |

ComVisibleAttribute メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 ( Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 ( Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 ( Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 ( Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 ( Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 ( Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

ComVisibleAttribute メンバ
個々のマネージ型またはマネージ メンバ、またはアセンブリ内のすべての型の COM 参照可能範囲を制御します。
ComVisibleAttribute データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | TypeId | 派生クラスに実装されている場合は、この Attribute の一意の識別子を取得します。(Attribute から継承されます。) |
![]() | Value | COM 型が参照可能かどうかを示す値を取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 (Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 (Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 (Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 (Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 (Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

- ComVisibleAttributeのページへのリンク