System.Dynamic.DynamicMetaObject
namespace System.Dynamic
{
public class DynamicMetaObject
{
public static readonly DynamicMetaObject[] EmptyMetaObjects;
public Expression Expression { get; }
public bool HasValue { get; }
public Type LimitType { get; }
public BindingRestrictions Restrictions { get; }
public Type RuntimeType { get; }
public object Value { get; }
public DynamicMetaObject(Expression expression, BindingRestrictions restrictions);
public DynamicMetaObject(Expression expression, BindingRestrictions restrictions, object value);
public virtual DynamicMetaObject BindBinaryOperation(BinaryOperationBinder binder, DynamicMetaObject arg);
public virtual DynamicMetaObject BindConvert(ConvertBinder binder);
public virtual DynamicMetaObject BindCreateInstance(CreateInstanceBinder binder, DynamicMetaObject[] args);
public virtual DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes);
public virtual DynamicMetaObject BindDeleteMember(DeleteMemberBinder binder);
public virtual DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes);
public virtual DynamicMetaObject BindGetMember(GetMemberBinder binder);
public virtual DynamicMetaObject BindInvoke(InvokeBinder binder, DynamicMetaObject[] args);
public virtual DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args);
public virtual DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject[] indexes, DynamicMetaObject value);
public virtual DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value);
public virtual DynamicMetaObject BindUnaryOperation(UnaryOperationBinder binder);
public static DynamicMetaObject Create(object value, Expression expression);
public virtual IEnumerable<string> GetDynamicMemberNames();
}
}