HideModuleNameAttribute クラス

更新 : 2007 年 11 月

HideModuleNameAttribute 属性をモジュールに適用すると、そのモジュールに必要な修飾子を使用した場合のみモジュール メンバにアクセスできるようになります。

' Usage
<HideModuleName> Module moduleName
' Declaration
<System.AttributeUsage(System.AttributeTargets.Class, _
   Inherited := False, AllowMultiple := False)> _
Public NotInheritable Class HideModuleNameAttribute
   Inherits System.Attribute

解説

この属性は、モジュールそのものは公開せずに、モジュール メンバのみを公開する場合に役立ちます。Visual Studio 統合開発環境 (IDE) の Visual Basic で IntelliSense を使用しているときは、このモジュールはステートメント入力候補リストに表示されません。その代わりに、モジュール メンバが表示されます。

モジュール名が非表示になっているときでも、そのモジュールを通じてモジュール メンバにアクセスできます。

メンバ名が他の識別子と競合している場合や、HideModuleNameAttribute 属性を持つ別のモジュールのメンバと競合している場合は、そのメンバは IntelliSense の該当モジュールのレベルに表示されません。

使用例

この例では、HideModuleNameAttribute 属性を使用して My に Database オブジェクトを追加する方法を示しています。このオブジェクトは My.Database を通じてアクセスできます。

Namespace My
    <HideModuleName()> Module CustomMyDatabase
        Public ReadOnly Property Database() As MyDatabase
            Get
                Return databaseValue
            End Get
        End Property
        Private ReadOnly databaseValue As MyDatabase = New MyDatabase
    End Module
End Namespace

Class MyDatabase
    ' The members of the My.Database object go here.
End Class

Namespace ステートメントは、クラスやモジュールの外側に記述する必要があります。

必要条件

名前空間 : Microsoft.VisualBasic

クラス : HideModuleNameAttribute

アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)

参照

概念

Visual Basic で使用される属性

参照

VBFixedArrayAttribute クラス

VBFixedStringAttribute クラス

その他の技術情報

Visual Basic における属性