C# blazor中是否可以使用泛型类型约束?
如何将TModel限制为仅类或实现specifix接口C# blazor中是否可以使用泛型类型约束?,c#,blazor-server-side,asp.net-blazor,C#,Blazor Server Side,Asp.net Blazor,如何将TModel限制为仅类或实现specifix接口 @typeparam TModel 无法使语法正常工作。解决方案是在部分代码隐藏类中添加类型约束。它起作用了 的确,Sven发布的答案是有效的,但是我需要做一个修改——将3.0添加到我的.csproj文件中。在那之后,这个项目被编译了。 以下是我的完整文件: Project.cs net5.0 3 使可能 service-worker-assets.js 剃须刀组件 @typeparam TViewModel @继承PageBase
@typeparam TModel
无法使语法正常工作。解决方案是在部分代码隐藏类中添加类型约束。它起作用了 的确,Sven发布的答案是有效的,但是我需要做一个修改——将
3.0
添加到我的.csproj文件中。在那之后,这个项目被编译了。
以下是我的完整文件:
net5.0
3
使可能
service-worker-assets.js
@typeparam TViewModel
@继承PageBase
一些文本
公共抽象部分类AuthenticatedPageBase
其中TViewModel:ViewModelBase
{
}
编辑:
好吧,从csproj文件中删除
标记后,它似乎仍然有效。在GitHub中,这似乎有一个尚未解决的问题。在这篇文章中,有一个可能对你有用的解决方案:你能举个例子吗?我按照你描述的做了,Blazor说分部有不同的基类,即一个(来自razor)在没有约束的情况下编译,另一个(c#代码隐藏)在约束的情况下。如果Blazor说分部有不同的基类,那么razor文件很可能至少包含一个错误。这甚至可能是在使用net5.0时隐式使用的子视图/控件Razorlang版本3中的一个问题。我想这只是巧合。