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)