ComVisibleAttributeとは? わかりやすく解説

ComVisibleAttribute クラス

個々マネージ型またはマネージ メンバ、またはアセンブリ内のすべての型の COM 参照可能範囲制御します

名前空間: System.Runtime.InteropServices
アセンブリ: 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
Dim instance As ComVisibleAttribute
[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 では ComVisibleAttributefalse設定しMyMethodMyProperty では 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.Object
   System.Attribute
    System.Runtime.InteropServices.ComVisibleAttribute
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ComVisibleAttribute メンバ
System.Runtime.InteropServices 名前空間
その他の技術情報
タイプ ライブラリ エクスポータ (Tlbexp.exe)
アセンブリからタイプ ライブラリへの変換要約

ComVisibleAttribute コンストラクタ

ComVisibleAttribute クラス新しインスタンス初期化します。

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

public ComVisibleAttribute (
    bool visibility
)
public:
ComVisibleAttribute (
    bool visibility
)
public ComVisibleAttribute (
    boolean visibility
)
public function ComVisibleAttribute (
    visibility : boolean
)

パラメータ

visibility

型が COM から参照できることを示す場合trueそれ以外場合false既定値true です。

解説解説

型を COM から参照可能にする場合は、この属性true設定します。型を COM から参照できないようにする場合は、この属性false設定します

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ComVisibleAttribute クラス
ComVisibleAttribute メンバ
System.Runtime.InteropServices 名前空間

ComVisibleAttribute プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ TypeId  派生クラス実装されている場合は、この Attribute一意識別子取得します。 ( Attribute から継承されます。)
パブリック プロパティ Value COM 型が参照可能かどうかを示す値を取得します
参照参照

関連項目

ComVisibleAttribute クラス
System.Runtime.InteropServices 名前空間

その他の技術情報

タイプ ライブラリ エクスポータ (Tlbexp.exe)
アセンブリからタイプ ライブラリへの変換要約

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 クラス
System.Runtime.InteropServices 名前空間

その他の技術情報

タイプ ライブラリ エクスポータ (Tlbexp.exe)
アセンブリからタイプ ライブラリへの変換要約

ComVisibleAttribute メンバ

個々マネージ型またはマネージ メンバ、またはアセンブリ内のすべての型の COM 参照可能範囲制御します

ComVisibleAttribute データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド ComVisibleAttribute 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 クラス
System.Runtime.InteropServices 名前空間

その他の技術情報

タイプ ライブラリ エクスポータ (Tlbexp.exe)
アセンブリからタイプ ライブラリへの変換要約



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ComVisibleAttribute」の関連用語

ComVisibleAttributeのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ComVisibleAttributeのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS