При попытке получить свойства из обобщенного интерфейса через dynamic - ошибка: Использование типа dynamic в лямбде запрещено

Пытаюсь использовать dynamic тип, чтобы достать свойства ValueFrom и ValueTo из обобщенного интерфейса IRuleConfig<T>. Когда ссылаюсь на переменную типа dynamic в лямбде @bind-Value и запускаю билд, то получаю сообщение:

Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type.

Можно ли обойти эту ошибку, либо указать в коде прямо, что хочу получить эти свойства из обобщенного интерфейса, а не из обычного?
Прилагаю подробный код

public interface IRuleConfig : ITextBuilderRule
{
    public Type Type { get; set; }
    public bool MinValue { get; set; }
    public bool MaxValue { get; set; }
    public string LabelFrom { get; }
    public string LabelTo { get; }
}
public interface IRuleConfig<T> : IRuleConfig {
    public T ValueFrom { get; set; }
    public T ValueTo { get; set; }

}
public class ImplementRule<T> : IRuleConfig<T>
{
    private T _deltaFrom;
    private T _deltaTo;

    public T ValueFrom { get; set; }
    public T ValueTo { get; set; }
    public string LabelFrom { get => "Label1"; }
    public string LabelTo { get => "Label2"; }
    public int TypeValues { get; }
    public Type Type { get; set; }
    public bool MinValue { get; set; }
    public bool MaxValue { get; set; }

    public ImplementRule(T From, T To)
    {
        _From = From;            
        _To = To;

        ValueFrom = From;            
        ValueTo = To;
    }
 }

Type Construct()
{
    Type type = CoreAssembly.GetType($"ImplementRule`1");
    Type[] typeArgs = { type.GetProperty("TypeValues").PropertyType };
    return type.MakeGenericType(typeArgs);
}

List<TextBuilderTemplate> TextsByRule= new List<TextBuilderTemplate>(){
    new TextBuilderTemplate { Rule = Activator.CreateInstance(Construct(), 0, 0) as IRuleConfig }}
@for (var a = 0; a < TextsByRule.Count; a++)
{
    var i = a;
    dynamic d = TextsByRule[i].Rule;
    <MudItem xs="4">
        <MudTextField @bind-Value="@TextsByRule[i].Template" Class="float-left w-100" Label="Text" />
    </MudItem>
    <MudItem xs="8">
        <MudCheckBox  @bind-Checked="@TextsByRule[i].Rule.MinValue" Class="float-left my-5" Label="MinValue" />
        <MudTextField @bind-Value="@d.ValueFrom" Disabled="@TextsByRule[i].Rule.MinValue" Class="float-left px-5 w-25" Label="@SelectedRule.LabelFrom" />
        <MudCheckBox  @bind-Checked="@TextsByRule[i].Rule.MaxValue" Class="float-left my-5" Label="MaxValue" />
        <MudTextField @bind-Value="@d.ValueTo" Disabled="@TextsByRule[i].Rule.MaxValue" Class="float-left px-5 w-25" Label="@SelectedRule.LabelTo" />
    </MudItem>
}

Интерфейсы

обращение к свойствам


Ответы (1 шт):

Автор решения: Ros97

Решилось на стороне UI - создал дочерние компоненты через builder.OpenComponent() в которых пробросил свойство с типом необобщенного интерфейса и в дочернем компоненте указал нужный дженерик

→ Ссылка