C# Visual Studio文档对Lambda的评论
在c#中,您可以使用以下函数添加文档注释:C# Visual Studio文档对Lambda的评论,c#,visual-studio,lambda,C#,Visual Studio,Lambda,在c#中,您可以使用以下函数添加文档注释: /// /// /// /// /// 当使用普通函数时,会自动生成。但是,当使用lambdas时,不会发生任何事情。有没有办法在lambda中使用文档注释?首先,到目前为止,没有办法使用//来记录lambda或等效文件 详细说明一下: 通常lambda不应该太复杂而无法理解或阅读。如果是这样,将其提取到完整的函数或方法中会是更好的做法,那么您可以添加//,用您的摘要或您通常需要的内容对其进行注释。因此,我认为不需要对lambda发表“文档”评论,也
///
///
///
///
///
当使用普通函数时,会自动生成。但是,当使用lambdas时,不会发生任何事情。有没有办法在lambda中使用文档注释?首先,到目前为止,没有办法使用
//
来记录lambda或等效文件
详细说明一下:
通常lambda不应该太复杂而无法理解或阅读。如果是这样,将其提取到完整的函数或方法中会是更好的做法,那么您可以添加//
,用您的摘要或您通常需要的内容对其进行注释。因此,我认为不需要对lambda发表“文档”评论,也不太可能发生
旁注:
简而言之,Lambda是一个匿名函数,因此即使将其提取到单独的函数中,性能也没有太大差异,除非复制大型对象,而不是通过引用传递它们。许多Lambda表达式不需要编写文档,因为它已经存在 例如,如果向
Where
子句提供lambda表达式,则函数已被记录(尽管它没有太多的细节):
谓词
类型:System.Func
测试每个元素的条件的函数
我建议,如果您有一个扩展方法或其他类型的代码将lambda表达式作为参数,那么记录其输入和输出的适当位置是使用它的方法,而不是设置它的代码
另一方面,如果您需要记录lambda特定实现的内部工作(即,它非常复杂),我建议您将其实现为与签名匹配的标准c#方法
因此而不是
Users
.Where( r => {
DoSomethingComplicated();
MoreCode();
return FinalResult();
});
你只要写
Users.Where( MyFunction )
然后在别处定义函数:
/// <summary>
/// This function calls DoSomethingComplicated and MoreCode
/// </summary>
/// <returns> A Boolean specifying whether the user should be included </returns>
bool MyFunction(User user)
{
DoSomethingComplicated();
MoreCode();
return FinalResult();
}
//
///此函数调用doSomethingComplex和MoreCode
///
///一个布尔值,指定是否应包括用户
bool MyFunction(用户)
{
dosomething复杂();
MoreCode();
返回FinalResult();
}
我认为您不能。旁注-这是特定于visual studio的,而不是c。我相应地更新了标签和标题。如果你的lambda足够复杂,需要文档,你可以将它们定义为“普通”函数,然后你可以得到你想要的注释。