In a Blazor .razor file you can use @typeparam MyType to use generic parameters.
For example:
MyComponent.razor
@typeparam MyType
<SomeHtml />
@code
{
[Parameter]
public List<MyType> MyList{ get; set; }
}
So you can call:
<MyComponent MyType="MyTypeABC" MyList="@MyData.MyList" />
But I prefer code behind (razor.cs), how can I use a parameter for type like @typeparam MyType in the razor.cs file?
My current workaround is:
MyComponent.razor
@inherits MyComponentCode<MyType>
@typeparam MyType
MyComponent.razor.cs
public class MyComponentCode<MyType> : ComponentBase
{
[Parameter]
public List<MyType> MyList{ get; set; }
}
I miss something like [TypeParameter], but maybe there are better solutions, any ideas? Or maybe it's a general question about "how to use razor @statements in a code behind".
Update from 2020-02-27:
With suggestion from Roger Wolf (see below), a bit better way:
MyComponent.razor
@typeparam MyType
MyComponent.razor.cs
public partial class MyComponent<MyType>
{
[Parameter]
public List<MyType> MyList{ get; set; }
}
Call
<MyComponent MyType="MyTypeABC" />