3
我想知道是否有可能創建一個可以具有可變數量參數的自定義註釋。也許一個僞示例是最好的。這裏就是我開始:具有未知參數長度的自定義元數據?
class TestMetadata {
final int prop;
final String prop2;
const TestMetadata({int prop, String prop2}) : this.prop = prop, this.prop2 = prop2;
}
const TestMetadata testMetadata = const TestMetadata();
目前,這會讓你的任何註釋,像這樣:
@testMetadata
void myFunction() {
}
@TestMetadata(prop:1, prop2:"Hello")
void myOtherFunction() {
}
我希望能在更多的參數來養活,而無需顯式定義它們。我試圖添加一個地圖(這是所有我能想到的)到TestMetadata類,如下所示:
class TestMetadata {
final int prop;
final String prop2;
final Map theRest;
const TestMetadata({int prop, String prop2, Map theRest}) : this.prop = prop, this.prop2 = prop2, this.theRest = theRest;
}
而是試圖從一個註解訪問地圖像這樣的時候:
@TestMetadata(prop:1, prop2:"Hello", theRest:{param:"World"})
void myOtherFunction() {
}
我收到一條錯誤消息:
「常量創建的參數必須是常量表達式。」夠公平的,這是有道理的。有沒有其他人有任何想法?
很快的人,非常感謝! – mrand01