メインコンテンツまでスキップ

クラス名へのアクセス手段

クラス名を指定してクラスにアクセスするインタフェースでは、次のようにクラス名、およびあいまい一致を評価します。

あいまい一致オプション

  • あいまい一致オプションに true を指定した場合、対象のクラスを次の条件で探索します。

    • クラス名の文字列が名前空間を含まない("."を含まない)場合は、クラスの名前と指定した名前が一致していれば対象クラスとします。
    • クラス名の文字列が名前空間を含む("."を含む)場合は、クラスの完全修飾名と指定した名前空間が後方一致していれば対象クラスとします。
    • なお、名前空間の後方一致判定は、名前空間名("."で区切られた範囲)を完全一致で識別します。
      • 例:"MyPackage.Sample1.MyClass" がある場合
        • "Sample1.MyClass" は後方一致するため対象
        • "ple1.MyClass" は後方一致しないため対象外
  • あいまい一致オプションに false を指定した場合、対象のクラスを次の条件で探索します。

    • クラスの完全修飾名と指定した文字列が完全一致していれば対象クラスとします。

    • ただし、クラス名の文字列でプロファイル限定オプションを指定している場合は、該当プロファイルに対応するプロファイル参照パッケージを基点とする名前空間と一致するかで評価します。

    • なお、プロファイル限定オプションを指定している場合は、クラスの名前空間の指定時にプロファイルのベースパッケージを省略できます。

      • 例:"MyPackage.Sample1.MyClass" がある場合
        • "MyPackage.Sample1.MyClass" は完全一致するため対象
        • "MyClass" は完全一致しないため対象外
        • "MyPackage::MyPackage.Sample1.MyClass" はプロファイル参照パッケージを基点とする名前空間と完全一致するため対象
        • "MyPackage::Sample1.MyClass" はプロファイルのベースパッケージを省略した名前空間と完全一致するため対象

      これにより、特定プロファイルが任意階層のパッケージ配下でプロファイル参照パッケージとして追加されていても、特定プロファイルにおいて識別できる名前で対象クラスを決定することができます。

クラス名を指定する際にプロファイルを限定する

  • 複数のプロファイル参照をインポートしたプロファイルに対してクラスを探索する際、クラス名に次のフォーマットに準拠する文字列を指定することでクラスの探索範囲を特定のプロファイル参照パッケージに限定することができます。
    • フォーマット:{プロファイル名}::{クラス名 or 名前空間を含むクラス名}
      プロファイル名を指定した場合は、クラスの探索範囲を指定したプロファイルに対応するプロファイル参照パッケージ配下に限定します。
      これにより、複数のプロファイル参照パッケージ配下で同じ名前のクラスが存在していても、特定のプロファイルに含まれるクラスに限定して探索することができます。