Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
GetIndexBinder.cs
Go to the documentation of this file.
2
3namespace System.Dynamic;
4
6{
7 public sealed override Type ReturnType => typeof(object);
8
9 public CallInfo CallInfo { get; }
10
11 internal sealed override bool IsStandardBinder => true;
12
13 protected GetIndexBinder(CallInfo callInfo)
14 {
15 ContractUtils.RequiresNotNull(callInfo, "callInfo");
16 CallInfo = callInfo;
17 }
18
19 public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args)
20 {
21 ContractUtils.RequiresNotNull(target, "target");
22 ContractUtils.RequiresNotNullItems(args, "args");
23 return target.BindGetIndex(this, args);
24 }
25
27 {
28 return FallbackGetIndex(target, indexes, null);
29 }
30
31 public abstract DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject? errorSuggestion);
32}
virtual DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes)
DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes)
DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject? errorSuggestion)
GetIndexBinder(CallInfo callInfo)
override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args)
static void RequiresNotNull(object value, string paramName)