<PackageReference Include="System.Dynamic.Runtime" Version="4.0.11" />

DynamicMetaObject

public class DynamicMetaObject
public static readonly DynamicMetaObject[] EmptyMetaObjects

public Expression Expression { get; }

public bool HasValue { get; }

public Type LimitType { get; }

public Type RuntimeType { get; }

public object Value { get; }

public DynamicMetaObject(Expression expression, BindingRestrictions restrictions)

public DynamicMetaObject(Expression expression, BindingRestrictions restrictions, object value)

public static DynamicMetaObject Create(object value, Expression expression)

public virtual IEnumerable<string> GetDynamicMemberNames()