在其Visual Studio工具提示中添加功能的使用信息

时间:2019-04-03 15:02:23

标签: c# visual-studio

我正在尝试在Visual Studio工具提示中添加有关如何使用我的函数的信息,类似于默认情况下每个async function的操作方式。

示例:

/// <summary>
/// Executes an asynchron operation
/// </summary>
/// <usage> <-- I am looking for something like this
/// try
/// {
///     bool x = await DoSomething();
/// }
/// finally
/// {
///    await CleanUp();
/// }
/// </usage>
public async Task<bool> DoSomething()
{
    return await SomeAsynchronOperation();
}

我尝试使用<example>标签,但此文本未显示在工具提示中。

official documentation中没有任何其他允许此类标记的说明。

如何使用async函数完成操作,是否有可能对其他功能执行相同的操作?

1 个答案:

答案 0 :(得分:1)

在我看来,这仅是基于Task的方法的特殊VisualStudio功能。

Task reference code在XML注释中没有显示任何与您的调用方式有关的特殊内容:

        /// <summary>
        /// Queues the specified work to run on the ThreadPool and returns a proxy for the
        /// Task returned by <paramref name="function"/>.
        /// </summary>
        /// <param name="function">The work to execute asynchronously</param>
        /// <returns>A Task that represents a proxy for the Task returned by <paramref name="function"/>.</returns>
        /// <exception cref="T:System.ArgumentNullException">
        /// The <paramref name="function"/> parameter was null.
        /// </exception>
        public static Task Run(Func<Task> function)
        {
            return Run(function, default(CancellationToken));
        }

我想您唯一可以做的就是结合使用<example><code>标签。

 ///<summary>Credit account with amount passed as parameter</summary>
 ///<example>After class initialisation, call this method:
 ///<code>
 ///var account = new Account(10, 2000);
 ///account.Credit(5000);
 ///</code>
 ///</example>
 public void Credit(int amount)
 {
   Balance = amount + Balance;
 }

VS Code会尊重这一点,并且会呈现出类似 enter image description here (示例取自this site

UPD 显然,有一个similar question already