Как перебрать свойство типа TValue в Blazor - PullRequest
4 голосов
/ 18 февраля 2020

Мне нужно повторить свойство типа TValue в Blazor.

Тег компонента как 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"};
}
}

1 Ответ

1 голос
/ 18 февраля 2020

Если я хорошо понимаю ваш вопрос, вы можете достичь его, используя рефлексию:

@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);
        }
    }
}
...