我想引用<see cref="..." />
XML documentation標記中的運算符,但似乎無法找到有關如何執行此操作的提示。該標籤上的MSDN article僅顯示引用方法的簡單示例,但不涉及可引用的不同類型的成員。XML文檔中的參考運算符
特別是,我想引用一個隱式轉換運算符,但引用運算符的一般規則也將被讚賞。
例
比方說,我們有一個簡單的結構,我們將其定義==
,!=
和隱式轉換操作符:
public struct MyStructure
{
public int Value { get; set; }
public static bool operator ==(MyStructure x, MyStructure y) => x.Value == y.Value;
public static bool operator !=(MyStructure x, MyStructure y) => x.Value != y.Value;
public static implicit operator MyStructure(int i) => new MyStructure { Value = i };
}
足夠簡單可以用<see cref="MyStructure.Value" />
引用Value
財產,但如何去引用==
運算符?我顯然試圖<see cref="MyStructure.==" />
和<see cref="MyStructure.==(MyStructure, MyStructure)" />
,但我不認爲這工作,因爲它應該,因爲這兩種意見:
- 經營者不得在展示,而不是其他成員的摘要提示着色的着色時,正確引用
- 的轉到定義命令不起作用,而它對於其他正確引用成員
我還懷疑工具,如Sandcastle用來生成HTML 頁面基於XML文檔也不會生成有效的超鏈接,但仍有待確認。
編輯
我只是證實沙堡不會產生有效的超鏈接我的任何企圖。此外,當進行檢查,以產生在項目屬性的XML 文檔的選項,顯示的代碼CS1584警告說:「XML註釋中有語法不正確CREF屬性‘MYSTRUCTURE。==’」。
理由
如果有人想知道爲什麼我想引用一個運營商的回答是我寫一個單元測試方法上的操作,並作爲一般規則,我把引用測試進行測試測試方法中XML文檔中的成員。所以我後面是這樣的:
/// <summary>
/// This method performs tests regarding <see cref="..." /> operator
/// </summary>
[TestMethod]
public void ImplicitConversionOperator() { ... }
從[這裏](https://msdn.microsoft.com/en-us/library/fsbx0t7x.aspx),它看起來像你可以使用:' '。我試了一下,它編譯了W/O警告......並將其寫入XML。 IDE行爲仍然不完整。 –
Clay
@Clay你是對的警告消失了,但不幸的是其他問題仍未解決。看起來,把「M:」放在前面(或任何其他字母后跟冒號)可以讓你在沒有警告的情況下放置幾乎任何東西 - 例如''不會引發警告。奇怪的是,兩個字母和冒號不會飛... –
Grx70
是的 - 我正在玩它。似乎可能是'M'。 – Clay