在第一個示例中,您將cref
屬性的類型指定爲類型:Func<T>
。這與System
命名空間中的類型完全匹配。我們需要創建一個指向該類型文檔的鏈接:Func<TResult>
。很容易找到並鏈接到。請注意,這會產生一種鏈接到一種類型。
在第二個示例中,當您尋找類型Func<Int32>
時,這不是一種真正的指向文檔的類型。命名空間System
中的類型是通用的,並且帶有一個參數。您可能不認爲它完全匹配,但解析器假定Int32
是您用於類型參數的名稱,並且您希望指向它可以輕鬆在System
命名空間中找到的類型。再次,這會產生一個鏈接,您可以在System命名空間中找到實際可以找到的一個類型。
你可能想創建一個使用兩個鏈接兩種類型,就像是Enumerable.Sum參考頁面上做了參考。對於該方法,
public static int Sum<TSource>(
this IEnumerable<TSource> source,
Func<TSource,int> selector
)
它們記錄使用兩個鏈路的參數的選擇:
類型:System.Func < TSource,Int32>
在這裏,它們有兩種類型的引用,不是一個。其中一個鏈接,看起來是給代表組System.Func
(這又是不與文檔我們可以指向一個類型)的參考,但它實際上指向System.Func<T,TResult>
委託的文檔。另一個鏈接是System.Int32
。
如果你得到更正式的你可以做到這一點。該XML通過編譯器驗證,如果你使用
<see cref="T:System.Func{T:System.Int32}"/>
不過,我不知道怎麼會在大多數模板顯示不變。這是用來記錄實體框架源代碼的東西。舉一個例子(即不能很好地顯示),你可以看看爲System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder namespace的文檔。
我也看到了它與
<see cref="T:System.Func < T:System.Int32 >"/>
做同樣,無視很好地,只顯示它由XML,即通過編譯器語法驗證該產品的標記去的模板。從xml轉換爲創建實際文檔時,您可能會有更好的運氣。
所以沒有辦法做我想要做的(也許與另一個屬性)? –
我已經更新了我的答案,以展示如何去做我認爲你想做的事。 –