7

私の理解では、それ..0-Many引数であり、名前*の1つの引数ですany。これは正しいです?

アスペクトjは次のような構文をサポートしていますargs(..,myArg,..)か?

4

2 に答える 2

11

これはAspectJサイトからのものです:http ://www.eclipse.org/aspectj/doc/next/progguide/semantics-pointcuts.html

*「。」以外の任意の数の文字を表します。

..任意の数の「。」を含む任意の数の文字を表します。

動作中のAspectJからの更新-メソッドシグネチャの場合:

メソッドシグニチャでは、ワイルドカード..は、メソッドが取る任意のタイプと数の引数を示すために使用されます

*単一の引数を指定します

于 2012-09-06T15:56:57.513 に答える
5

他の人が私の前で質問の一部に答えたので、私は修正するだけです:

.., bla, ..blaパラメータを変数にバインドすると、パラメータリストで一致するタイプが複数回発生する場合に、一致する組み合わせが複数存在する可能性があるため、は機能しません。例:

void foo(int a, String b, String c, File d)

アドバイスが次の場合はどうなるでしょうか。

before(String bla) : call(void foo(.., bla, ..)) && args(bla)

またはの値にblaバインドする必要がありますか?Stringbc

于 2012-09-06T17:54:59.070 に答える