Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
GetMemberBinder.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 string Name { get; }
10
11 public bool IgnoreCase { get; }
12
13 internal sealed override bool IsStandardBinder => true;
14
15 protected GetMemberBinder(string name, bool ignoreCase)
16 {
17 ContractUtils.RequiresNotNull(name, "name");
18 Name = name;
19 IgnoreCase = ignoreCase;
20 }
21
23 {
24 return FallbackGetMember(target, null);
25 }
26
28
29 public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[]? args)
30 {
31 ContractUtils.RequiresNotNull(target, "target");
32 ContractUtils.Requires(args == null || args.Length == 0, "args");
33 return target.BindGetMember(this);
34 }
35}
virtual DynamicMetaObject BindGetMember(GetMemberBinder binder)
GetMemberBinder(string name, bool ignoreCase)
DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject? errorSuggestion)
DynamicMetaObject FallbackGetMember(DynamicMetaObject target)
override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[]? args)
static void Requires([DoesNotReturnIf(false)] bool precondition, string paramName)
static void RequiresNotNull(object value, string paramName)