我正在尝试以某种方式在客户端 Blazor 中使用页面模型类,这样我就不必重新键入所有"基本"属性
我在想创建类
public partial class SomePage : BasePage
{ }
错误 CS0263 "Somepage"的部分声明不得指定不同的基类
我的基类看起来像这样
public class BasePage : ComponentBase
{
[Inject]
protected NavigationManager NavigationManager { get; set; }
[Inject]
protected HttpClient Http { get; set; }
}
我还尝试更改添加IComponent,IHandleEvent,IHandleAfterRender。 所以它看起来像这样
public class BasePage : ComponentBase, IComponent, IHandleEvent, IHandleAfterRender
但这无济于事。
任何想法如何从PageModel分部声明中的基类继承?
这是关于 C# 如何实现分部类的。
在SomePage.razor中,您必须添加
@inherits BasePage
与错误状态一样,分部类的所有部分必须指定相同的基类(或无,然后使用另一部分的基类(。
您的 SomePage.razor 文件首先编译为 C#,默认情况下生成器将指定 ComponentBase 作为基类。 由于不能告诉生成器省略基类,因此必须使用@inherits
来覆盖它。
因此,您可以(但不必(将后面的类缩短为
partial class SomePage // code-behind
{
}
然后,public
修饰符和基类将从生成的部分中获取。