我正在尝试在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
函数完成操作,是否有可能对其他功能执行相同的操作?
答案 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会尊重这一点,并且会呈现出类似 (示例取自this site)
UPD 显然,有一个similar question already