Blazor 剃刀文件中接口的多重继承
Mutiple inheritance of Interfaces in Blazor razor file
我的 Blazor 组件只有一个 razor 文件(后面没有 razor.cs 代码)并希望从接口继承该组件,首先我尝试了以下操作:
MyComponent.razor :
@inherits IMyInterface
然后在构建之后,我在 .cs 生成的代码中遇到了一个错误(由 Visual Studio),我意识到组件只是从我的界面派生的,而不是 ComponentBase
class。这是生成的代码:
...
public partial class MyComponent: IMyInterface
{
#pragma warning disable 1998
protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder)
{
}
#pragma warning restore 1998
}
...
所以我得到了 'no suitable method found to override' 错误。
然后我尝试了以下代码,但都遇到了编译错误:
// 1) multiple inheritance
@inherits ComponentBase,IMyInterface
// 2) adding semicolon
@inherits ComponentBase,IMyInterface;
// 3) mutiple @inherits directive
@inherits ComponentBase
@inherits IMyInterface
通过在文件 MyComponent.razor.cs 后面添加代码并在其中写入继承代码解决了问题,但我想知道 是否可以在 razor 文件中有多个接口继承?
C# 中无法实现多重继承,Blazor 模板生成 C# classes。所以你不能 inherits
多个碱基 classes。但是,您可以 @implements
多个接口。
示例如下:
@implements IEventListener
@implements IInterface
我想这只是对术语的混淆。你 inherit
一个 class 但你 implement
一个接口
我的 Blazor 组件只有一个 razor 文件(后面没有 razor.cs 代码)并希望从接口继承该组件,首先我尝试了以下操作:
MyComponent.razor :
@inherits IMyInterface
然后在构建之后,我在 .cs 生成的代码中遇到了一个错误(由 Visual Studio),我意识到组件只是从我的界面派生的,而不是 ComponentBase
class。这是生成的代码:
...
public partial class MyComponent: IMyInterface
{
#pragma warning disable 1998
protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder)
{
}
#pragma warning restore 1998
}
...
所以我得到了 'no suitable method found to override' 错误。
然后我尝试了以下代码,但都遇到了编译错误:
// 1) multiple inheritance
@inherits ComponentBase,IMyInterface
// 2) adding semicolon
@inherits ComponentBase,IMyInterface;
// 3) mutiple @inherits directive
@inherits ComponentBase
@inherits IMyInterface
通过在文件 MyComponent.razor.cs 后面添加代码并在其中写入继承代码解决了问题,但我想知道 是否可以在 razor 文件中有多个接口继承?
C# 中无法实现多重继承,Blazor 模板生成 C# classes。所以你不能 inherits
多个碱基 classes。但是,您可以 @implements
多个接口。
示例如下:
@implements IEventListener
@implements IInterface
我想这只是对术语的混淆。你 inherit
一个 class 但你 implement
一个接口