假设我有一个方法可以立即或类似地调用另一个异步方法:
//Main method
public async Task<int> Foo1( int x )
{
var result = await DoingSomethingAsync(x );
return DoSomethingElse(result );
}
//other method
public async Task<int> Foo2( Double double )
{
return await Foo1( Convert.ToInt32(double ) );
}
Run Code Online (Sandbox Code Playgroud)
是否存在Foo2需要/应该具有异步/等待的特定原因,而不是简单地调用:
//other method
public Task<int> Foo3( Double double )
{
return Foo1( Convert.ToInt32( double ) );
}
Run Code Online (Sandbox Code Playgroud)
在消费者中,无论如何,这仍然是等待的,不管:
int x = await Foo1(1);
int x = await Foo2(1D);
int x = await Foo3(1D);
Run Code Online (Sandbox Code Playgroud)
所有这些陈述都将汇编.编译器会为两种不同的方法生成不同的IL吗?
我正在努力记录我们的显示和编辑器模板(作为扩展,记录我们所有的 CSHTML 将是有益的)。话虽如此,我从未见过任何记录 CSHTML Razor 视图的方法。
例如,我有这个 CSHTML EditorTemplate:MoneyPicker.cshtml
@model Decimal?
@{
Layout = null;
}
<div class="money-picker" data-money-picker>
<div class="form-control-wrapper">
@Html.TextBox(
"",
ViewData.TemplateInfo.FormattedModelValue,
new
{
type = "number",
@class = "form-control money-control",
placeholder = ViewData.ModelMetadata.Watermark ?? ViewData.ModelMetadata.DisplayName
} )
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我知道这不是 C#,但是有什么方法可以添加 XML 文档(或等效文档):
/// <summary>
/// Displays a text box wrapped with the money-picker wrappers, allowing javascript to show money buttons to pick the value.
/// </summary>
/// <param name="Model">A currency value</param>
/// <remarks>
/// The …Run Code Online (Sandbox Code Playgroud)