在 Blazor 组件中,就像在典型的 C# 类中一样,可以为方法创建一个泛型参数。语法如下:
例如,我需要创建以下组件,允许开发人员传递一个泛型类型的“Model”: .../GESD.Blazor/Shared/GesdTrForm.razor
@typeparam T
但我想知道如何像在C#类中一样约束它。例如:
// pseudocode
@typeparam T : ICloneable
例如,我需要创建以下组件,允许开发人员传递一个泛型类型的“Model”: .../GESD.Blazor/Shared/GesdTrForm.razor
@typeparam modelType
<EditForm Model="@Model"
OnValidSubmit="@OnValidSubmit"
style="display:table-row"
>
@ChildContent
</EditForm>
@code {
[Parameter]
public RenderFragment ChildContent { get; set; }
[Parameter]
public modelType Model { get; set; } // here is the use of the generic
[Parameter]
public EventCallback<EditContext> OnValidSubmit { get; set; }
void demo () {
var cloned = Model.Clone();
}
}
但在.Clone()
处我遇到了以下错误:
'modelType'不包含名称为'Clone'的定义...