blazor - 如何在 Blazor 中迭代 TValue 类型属性
问题描述
我需要在 Blazor 中迭代 TValue 类型属性。
组件标记为 MYComponent。
<select>
@foreach (var item in this.Value(TValue))
{
<option selected value=@item></option>
}
</select>
@code {
public class MYComponent {
public TValue Value {get;set;}
private string[] MyValue = new string[] {"Value1", "Value2"};
}
}
解决方案
如果我很好地理解您的问题,您可以通过使用 reflexion 来实现:
@foreach (var item in GetProperties(TValue))
{
<option selected value=@item></option>
}
</select>
@code {
public class MYComponent
{
public TValue Value {get;set;}
private string[] MyValue = new string[] {"Value1", "Value2"};
public IEnumerable<string> GetProperties()
{
return typeof(TValue).GetProperties().Select(p => p.Name);
}
}
}
推荐阅读
- java - connectionerror chaquo python-requests 尽管互联网已连接
- here-api - harp.gl:通过three.js添加的正确缩放地理参考3D几何(以米为单位)
- c# - 有没有办法把一个 int 变成一个字符串,然后再变成一个 int
- python - pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query')
- r - 创建一个表格,提取字符串中的第一个字母并在 R 中计数
- ruby-on-rails - Rails 播种城市和地区表
- flutter - Flutter 中的幅度分析
- c# - TinyMce 5.0.14 在 IE 和 Edge 上拼写检查错误不起作用
- python - 静态方法如何不绑定到“静态方法”类?
- javascript - InStr 与 indexOf