Benim anlayış ..
0-Many
args ve *
any
ismin bir arg olmasıdır ne anlama geliyor. Bu doğru mu?.. ve * AspectJ
args(..,myArg,..)
gibi AspectJ destek sözdizimi mu?
Benim anlayış ..
0-Many
args ve *
any
ismin bir arg olmasıdır ne anlama geliyor. Bu doğru mu?.. ve * AspectJ
args(..,myArg,..)
gibi AspectJ destek sözdizimi mu?
Bu AspectJ'yi sitesinden şudur: "" http://www.eclipse.org/aspectj/doc/next/progguide/semantics-pointcuts.html
*
haricinde herhangi bir karakter sayısını gösterir
..
Güncelleme Eylem AspectJ itibaren - yöntem imzalar için: yöntemi imzalar ise
, joker .. bir yöntem ile alınan argümanlar her türlü numarayı belirtmek için kullanılır
*
tek bir bağımsız değişkeni belirtir
aynı zamanda bu: "Eğer durum bu ise '*' özel joker ise joker, sonra herhangi bir argüman maç ve edecek" .. "sonra bağımsız değişken herhangi bir sayı maç olacak" Evet, ben doğru – MikePatel
sahiptir Cevap, yöntem imzaları için de uygun şekilde güncelleştirildi. AspectJ desteklemiyor '(.., myarg, ..)', neden olmasa da emin değil. –
Diğerleri bana soruyu yanıtlamadan önce yanıt verdiler, bu yüzden sadece değiştireceğim:
.., bla, ..
çalışmıyor çünkü değişkene bla
parametresini bağlarsanız, eşleme türünün parametre listesinde birden çok kez ortaya çıkması durumunda birkaç eşleştirme kombinasyonu olabilir. Örnek:
before(String bla) : call(void foo(.., bla, ..)) && args(bla)
bla
b
veya c
ait String
değerine bağlı olmalı: tavsiyem ise
void foo(int a, String b, String c, File d)
Şimdi ne olacağını gerekir?
var-arg sadece Java (sonunda) son argüman olabilir. – Shark
Derleyici/yorumcunun sizin durumunuzda hangi argümanın gerçekten 'myArg' olduğunu bilmesi çok zor/imkansız olurdu. – climbage