Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ BindGetOrInvokeMember()

DynamicMetaObject System.Dynamic.ExpandoObject.MetaExpando.BindGetOrInvokeMember ( DynamicMetaObjectBinder binder,
string name,
bool ignoreCase,
DynamicMetaObject fallback,
Func< DynamicMetaObject, DynamicMetaObject > fallbackInvoke )
inlineprivate

Definition at line 282 of file ExpandoObject.cs.

283 {
284 ExpandoClass @class = Value.Class;
285 int valueIndex = @class.GetValueIndex(name, ignoreCase, Value);
289 if (fallbackInvoke != null)
290 {
292 }
295 }
DynamicMetaObject(Expression expression, BindingRestrictions restrictions)
DynamicMetaObject AddDynamicTestAndDefer(DynamicMetaObjectBinder binder, ExpandoClass klass, ExpandoClass originalClass, DynamicMetaObject succeeds)
static readonly MethodInfo s_expandoTryGetValue
static ConstantExpression Constant(object? value)
static BlockExpression Block(Expression arg0, Expression arg1)
static MethodCallExpression Call(MethodInfo method)
static ParameterExpression Parameter(Type type)
static ConditionalExpression Condition(Expression test, Expression ifTrue, Expression ifFalse)
static ConstantExpression Constant(bool value)
Definition Utils.cs:64

References System.Dynamic.DynamicMetaObject.DynamicMetaObject(), System.Dynamic.ExpandoObject.MetaExpando.AddDynamicTestAndDefer(), System.Linq.Expressions.Expression< TDelegate >.Block(), System.Linq.Expressions.Expression< TDelegate >.Call(), System.Linq.Expressions.Expression< TDelegate >.Condition(), System.Linq.Expressions.Utils.Constant(), System.Linq.Expressions.Expression< TDelegate >.Constant(), System.Dynamic.BindingRestrictions.Empty, System.Dynamic.ExpandoObject.MetaExpando.GetLimitedSelf(), System.Linq.Expressions.Expression< TDelegate >.Parameter(), System.Dynamic.ExpandoObject.s_expandoTryGetValue, and System.Dynamic.ExpandoObject.MetaExpando.Value.

Referenced by System.Dynamic.ExpandoObject.MetaExpando.BindGetMember(), and System.Dynamic.ExpandoObject.MetaExpando.BindInvokeMember().