| [Object Visibility] プロパティ | |
ほかのモジュール内のオブジェクトから、当該オブジェクトへのアクセスを許可するかどうかを定義します。モジュールレベルまたはオブジェクトレベルのいずれかで指定できます。
モジュールレベルで値を設定すると、モジュール内のすべてのオブジェクトの既定値が変更されます。
Public |
公開オブジェクトは、任意のモジュール内の任意のオブジェクトからアクセスできます。 |
Private |
非公開オブジェクトは、同じモジュール (およびその子モジュール) 内のオブジェクトだけがアクセスできます。 |
Internal |
共通のルートモジュール (「Root Module」という名前の子) を持つオブジェクトだけが内部オブジェクトにアクセスできます。 |
オブジェクトの既定値は、親のモジュールオブジェクトから継承されます。
モジュールオブジェクトを設計するときには、その使用方法 (ほかのモジュールが、定義しているモジュールをどのように操作できるか) を定義することが目標の 1 つです。モジュールオブジェクトには、ナレッジベース内のほかのモジュールからのアクセスできるものとできないものがあります。
開発者は、 [ Object Visibility ] プロパティに適切な値を設定することで、各オブジェクトがモジュールの外部からアクセスされる方法を制御、つまりモジュールのインターフェースを設計できます。
Root Module
|-- ProcRoot
|-- ModuleA
|-- |-- ProcA
|-- |-- ModuleA1
|-- | |-- ProcA1 //Public
|-- | |-- ModuleA11
|-- | |-- ProcA11_Internal //Internal
|-- | |-- ProcA11_Private // Private
|-- |-- ModuleA2
|-- |-- ProcA2
この例では
- ProcRoot は ProcA1 を呼び出すことができます。ProcA11_Internal と ProcA11_Private を呼び出すことはできません。
- ProcA、ProcA1、そして、ProcA2 は ProcA11_Internal を呼び出すことができますが、ProcA11_Private を呼び出すことはできません、
- ProcA11_Internal は ProcA11_Private を呼び出すことができます。
- ModuleA1 を Packaging するとき、ProcA1 だけがインターフェースの一部となります。
[ Object Visibility ] プロパティを変更すると、そのオブジェクトを参照しているすべてのオブジェクトが、次のビルド操作時に自動的に特定されます。生成の必要がない場合もあります。
このプロパティは、GeneXus Tilo Beta 1 以降で利用できます。
「Internal」の値は、GeneXus 15 Upgrade 3 から使用できます。
モジュール
モジュールとフォルダ
モジュール - 動的な呼び出し
|
|
|
|
|