2

C++ の場合と同様に、

using namespace std;

または Java では、

import packageName;

Force.com Apex コードの記述中にパッケージまたは名前空間をインポート/使用する方法はありますか? たとえば、開発者コンソールの「匿名ウィンドウの実行」で単純な Apex を次のように書いています。

System.debug('Hello world!');

のようなものを書く方法はありますか

import System;

debug('Hello world!');

このリンクは関連しているように見えましたが、私の構文上の懸念には答えませんでした。

どんな助けでも大歓迎です!私が見逃したかもしれない明らかなものにリダイレクトすることは大歓迎です、ありがとう!

4

1 に答える 1

2

これはAPEXの隠れたディテールだと思います。私はクラスを拡張し、システム メソッドを参照しましたが、気にする必要はありませんでした。

Salesforce がすべてのコードに追加する 1 つの大きなインポート リストを管理していると考えるとうまくいくかもしれません。クラスをグローバルとして宣言すると、グローバル インポート リストに追加されます。ドキュメントの少なくともこの行は、「グローバル アクセス修飾子は、このクラスがあらゆる場所のすべての Apex コードによって認識されていることを宣言しています」という方向性を示しています。

名前空間に関しては、これが管理パッケージの一部として利用可能になっているのを見たことがあります。たとえば、SteelBrick の管理パッケージ QuoteQuickly には、すべてのコードに接頭辞 SBQQ が付いています。詳細については、こちらをご覧ください。他の方法で名前空間を作成できるとは思いません。

ただし、 salesforce.stackexchange.comには、私よりもよく知っている非常に鋭いのぞき見がいくつかあります。あちらで聞いてみるといいと思います。


編集DreamForce '13 で、私は Steven Herod によるプレゼンテーションに出席し、そこで彼は DTO クラスを内部クラスにし、次のように他の場所でそれらを参照しました: QuoteModel.QuoteRequestand QuoteModel.QuoteResponse. 私は彼にそれについて尋ねたところ、彼は名前空間を模倣する適切な方法だと言いました. 彼のスライド デッキを見つけましたが、ライブでデモを行うコードは含まれていませんでした。とにかくそれを少し説明するこのコードを見つけました。を探しaddTextrBox.textBoxClassます。

于 2013-08-02T19:00:07.933 に答える