2010-02-12 66 views
6

給予類似的如何爲委託參數提供xml註釋/文檔?

Func<string,string,string> MyFunc = (firstName,lastName) => string.Format("Given Name:{0} Surname:{1}", 
                      firstName, 
                      lastName); 

你如何可以爲您記錄firstName和lastName參數的委託,所以他們出現在IntelliSense(如方法說明和參數做)?
例子:

/// <summary> 
/// My Method 
/// </summary> 
/// <param name="firstName">The first name.</param> 
/// <param name="lastName">The last name.</param> 
/// <returns></returns> 
public string MyMethod(string firstName, string lastName) 
{ 
    return string.Format("Given Name:{0} Surname:{1}",firstName,lastName); 
} 

我想,當我鍵入懸停在該委託或具有智能感知彈出,並告訴我的描述爲委託參數,像它會用上面的方法。

+0

對我來說,記錄一個匿名函數似乎很奇怪。 – Foole 2010-02-13 03:20:00

回答

8

委託類型的字段仍然是字段而不是方法—它本身不帶參數。該參數屬於類型,不是代表字段。如果需要,可以在委派類型時爲參數編寫註釋。

/// <summary> 
/// Tests something. 
/// </summary> 
/// <param name="test">Something that's going to be tested.</param> 
delegate void Test(int test); 

Func<string,string,string>是具有三個參數的函數的一般代表。出於特定的目的,您可以始終聲明自己的委託類型,更具體地表示抽象方法,併爲其參數添加註釋。

+0

這太糟糕了,沒有什麼辦法可以提供文檔,intellisense會爲'Func <字符串,字符串,字符串>提取'在很多情況下,要分配給這樣的聲明變量的函數應該執行特定的任務並且對傳遞什麼和返回什麼有特定的期望。 – 2017-03-29 18:10:56