2010-02-12 63 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