2016-01-20 70 views
2

Dart Language Tour涵蓋文檔的意見,並說:如何引用dartdoc中的構造函數和運算符?

內部文檔註釋,達特編譯器會忽略所有文本,除非它 方括號括起來。使用括號,您可以參考類,方法,字段,頂級變量,函數和參數。括號 中的名稱在文檔化程序元素的詞彙範圍內解析。

我可能希望能夠引用任何範圍內的任何東西,但我無法解決如何引用命名和未命名的構造函數以及運算符。

我創建了一個測試庫,文檔註釋:

/// # Thingy 
/// 
/// Blah [GLOBAL] blah [function] blah [Thingy] blah [Thingy.property] blah 
/// [Thingy.virtualProperty] blah [Thingy.named] blah [Thingy.method] 
/// blah [Thingy.operator+]. 
/// Try these: [Thingy.named()] blah [Thingy.()] blah [Thingy()]. 

library Thingy; 

const int GLOBAL = 0; 

void function(int arg) {} 

/// A class. 
/// 
/// Blah [GLOBAL] blah [function] blah [Thingy] blah [property] blah 
/// [virtualProperty] blah [named] blah [method] blah [operator+]. 
/// Try these: [Thingy.named()] blah [Thingy.()] blah [Thingy()]. 
class Thingy { 

    int property; 

    int get virtualProperty => 0; 
    set virtualProperty(int arg) {} 

    Thingy(int arg) {} 
    Thingy.named(int arg) {} 

    /// A method. 
    /// 
    /// Blah [GLOBAL] blah [function] blah [Thingy] blah [property] blah 
    /// [virtualProperty] blah [named] blah [method] blah [operator+] blah 
    /// [arg]. 
    /// Try these: [Thingy.named()] blah [Thingy.()] blah [Thingy()]. 
    void method(int arg) {} 

    Thingy operator+(int arg) => null; 
} 

庫,通過Dartdoc生成的類和方法的文檔出來找這樣的:

布拉赫GLOBAL等等function blahThingy等等property等等 virtualProperty blah named blah method blah operator+ ...

試試這些:Thingy.named blah Thingy.() blah Thingy()

(而不是實際Dartdoc輸出 - 正是它看起來像用來模擬鏈路飛鏢語言旅遊URL。)

大多數引用的工作,但我怎麼能是指建造者和操作?

回答

4

構造函數被以new

/// [new MyClass] 
/// [new MyClass.someNamedConstructor] 

我還沒有找到一種方法來引用運營商

/// [operator ==] or [==] seem not to work 

我創建https://github.com/dart-lang/dartdoc/issues/1087

+0

是的,那些工作。謝謝。你能指出我在哪裏有記錄嗎?有關如何引用運營商實施的任何線索? –

+0

我不知道這是記錄在哪裏。我會盡力找出答案。我想我在bug報告或其他討論中看到了它。同樣,構造函數的關閉也是這樣工作的('new MyClass#''不確定這個函數是否完全可用) –

0

Effective Dart: Documentation文件鏢文檔註釋,包括引用。

+0

感謝Dartdoc團隊針對Günter的錯誤報告指出了這一點;是的,我有點尷尬,我沒有設法找到之前問這裏。 –

相關問題