0

次の側面では、「このメソッドは int の結果型を返す必要があります」というメッセージが表示されます。

package CH.ifa.draw.framework;

public aspect Trace {

     after() returning (ConnectionFigure figure): call(*.new(..)) {
         System.out.println("test");
     }
}

結果の型として void を期待しています。

アップデート

ConnectionFigure インターフェイスを実装するクラスを作成するたびに、このポイントカットが呼び出されることを期待しています

更新 2

package CH.ifa.draw.framework;

public aspect Trace {

     after(): call(ConnectionFigure+.new(..)) {
         System.out.println("trace creation figure");
     }
}
4

1 に答える 1

0

あなたのアスペクトのアドバイスは間違っているか、少なくとも不完全です。パラメータがポイントカット式でバインドされていないため、エラーが発生するreturning (ConnectionFigure figure)はずです。そのコンポーネントを削除して、それが機能するかどうかを確認してください。

于 2013-04-08T20:13:04.887 に答える