아래 코드에서 Filter<>에 대한 설명을 생성할 때 Expression.Type 의 설명 생성 시 무한 루프에 빠집니다.
필드로 바꾸고 getter를 사용하면 해결되긴 하지만, 혹시 다른 방법이 있을까 해서 질문 드립니다.
public class FilterInfo
{
public string Text { get; private set; }
public ImmutableHashSet<PropertyInfo> Properties { get; private set; }
internal FilterInfo(string text, ImmutableHashSet<PropertyInfo> properties)
{
Text = text;
Properties = properties;
}
}
public class Filter<T> : IFilter where T : class
{
public FilterInfo Info { get; private set; }
public Expression<Func<T, bool>> Predicate { get; private set; }
internal Filter(FilterInfo info, Expression<Func<T, bool>> predicate)
{
Info = info;
Predicate = predicate;
}
}
[HttpGet("Get")]
public IActionResult Get([FromQuery] Filter<User> filter)
{
return Ok();
}