【发布时间】:2021-11-27 13:44:09
【问题描述】:
我正在学习 Razor。我在Budget.razor 中有一个非常简单的 Razor 组件(使用 MudBlazor 框架)
@page "/budget"
<PageTitle>Budget</PageTitle>
<MudGrid>
<MudItem xs="12" sm="6" md="4">
<p> Hello you @HelloConsole() </p>
</MudItem>
</MudGrid>
和Budget.razor.cs 中的部分类:
namespace MyProject.Pages
{
public partial class Budget
{
protected void HelloConsole()
{
Console.WriteLine("Hello");
}
}
}
我在 Visual Studio 中收到错误:
Cannot implicitly convert type 'void' to 'object'
我做错了什么?
【问题讨论】:
-
我不知道 blazor,但我认为你应该将方法改为
protected string HelloConsole(){return “Hello;”} -
我真的很想明白为什么它在不改变实际实现的情况下不起作用
-
因为现有的实现它期望方法返回一些东西,并且默认它是对象。它的值将在运行时呈现。您当前的方法是返回 void 而不是任何对象
-
在我的实现中哪里可以看到它需要一个对象?还是在 Blazor 的实现中的某个地方?
-
具有
@HelloConsole的行正在调用HelloConsole方法