如何在 blazor 页面模型部分声明中使用不同的基础 class?
How to use a different base class in blazor page model partial declaration?
我正在尝试以某种方式在客户端 Blazor 中使用页面模型 class,这样我就不必重新键入所有 "base" 属性
我正在考虑创建 class
public partial class SomePage : BasePage
{ }
错误 CS0263 'Somepage' 的部分声明不得指定不同的基 classes
我的基地 classe 看起来像这样
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 部分声明中的基础 class 继承的任何想法?
这是关于C#如何实现部分classes。
在 SomePage.razor 中,您必须添加
@inherits BasePage
与错误状态一样,部分 class 的所有部分必须指定相同的基数 class(或 none,然后是另一部分的基数 class将被使用)。
您的 SomePage.razor 文件首先编译为 C#,生成器将默认指定 ComponentBase 作为基础 class。
由于您无法告诉生成器省略基数 class,因此您必须使用 @inherits
来覆盖它。
因此,您可以(但不必)将后面的 class 缩短为
partial class SomePage // code-behind
{
}
public
修饰符和基础class 将从生成的部分中取出。
我正在尝试以某种方式在客户端 Blazor 中使用页面模型 class,这样我就不必重新键入所有 "base" 属性
我正在考虑创建 class
public partial class SomePage : BasePage
{ }
错误 CS0263 'Somepage' 的部分声明不得指定不同的基 classes
我的基地 classe 看起来像这样
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 部分声明中的基础 class 继承的任何想法?
这是关于C#如何实现部分classes。
在 SomePage.razor 中,您必须添加
@inherits BasePage
与错误状态一样,部分 class 的所有部分必须指定相同的基数 class(或 none,然后是另一部分的基数 class将被使用)。
您的 SomePage.razor 文件首先编译为 C#,生成器将默认指定 ComponentBase 作为基础 class。
由于您无法告诉生成器省略基数 class,因此您必须使用 @inherits
来覆盖它。
因此,您可以(但不必)将后面的 class 缩短为
partial class SomePage // code-behind
{
}
public
修饰符和基础class 将从生成的部分中取出。