c# - 是否可以为 Func<T1,T2,....> 参数的部分提供智能感知的 xml 注释?

标签 c# delegates comments xml-comments

所以,我有一个接受回调并执行它的操作。看起来有点像这样。我可以在问号区域(或其他地方)填写任何内容来记录进入 APICall Func 参数的参数的详细信息吗?

/// <summary>
/// Opens Authenticated session to servers using ClientSide SDK's, performs action, closes session
/// </summary>
/// <typeparam name="T">The object to be returned from the authenticated action</typeparam>
/// <param name="credentials">Container for username, password</param>
/// <param name="APICall">?????????????????</param>
///
/// ?????????????????????
/// ?????????????????????
/// ?????????????????????
///    
/// <returns>T</returns>
private static T MakeAuthenticatedCall<T> (CredStorage Credentials, Func<string,T> APICALL)
{
   AuthenticationManager.Login(Credentials);
   T APIResult = APICall(AuthenticationManager.SessionID);
   AuthenticationManager.LogOff();

   return APIResult;
}

最佳答案

您可以定义自己的委托(delegate)来执行此操作,而不是使用内置的 Func<T,...>委托(delegate)。

然后您不仅可以为其提供 XML 文档,还可以为参数提供更具描述性的名称。

例如:

/// <summary>Makes an API call.</summary>
/// <typeparam name="T">The type returned by the API call.</typeparam>
/// <param name="param">The parameter passed to the API call.</param>
/// <returns>The value returned by the API call.</returns>

public delegate T ApiCall<T>(string param);

那么你可以使用它来代替 Func<string,T>在你的方法中:

private static T MakeAuthenticatedCall<T>(CredStorage Credentials, ApiCall<T> APICALL)
{

这可以说是一种更好的方法,尽管代价是必须花费额外的时间来定义特殊委托(delegate)。

关于c# - 是否可以为 Func<T1,T2,....> 参数的部分提供智能感知的 xml 注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36065368/

相关文章:

c# - Xamarin.Android 点击手势和长按手势不能一起工作

c# - 为什么不同的传委托(delegate)方式在性能上会有如此大的差异?

comments - VIM : Trouble mapping <c-/> and re-selecting visual selection?

c# - 用于 C# 的 Quantlib 64 位?

c# - asp net forms身份验证无法在同一服务器上同时登录两个应用程序

有时不调用 iOS UIWebView webViewDidFinishLoad

java - 保持评论对象状态的最佳方法是什么?

java - 在 Eclipse 中自动生成 getter 和 setter 的注释

c# - LINQ SELECT 中的 IF 语句包含列

c# - 如何在 C# 中分配委托(delegate)扩展方法?