Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SetMemberBinder.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 SetMemberBinder(string name, bool ignoreCase)
16 {
17 ContractUtils.RequiresNotNull(name, "name");
18 Name = name;
19 IgnoreCase = ignoreCase;
20 }
21
22 public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args)
23 {
24 ContractUtils.RequiresNotNull(target, "target");
25 ContractUtils.RequiresNotNull(args, "args");
26 ContractUtils.Requires(args.Length == 1, "args");
27 DynamicMetaObject value = args[0];
29 return target.BindSetMember(this, value);
30 }
31
36
38}
virtual DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value)
DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value)
override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args)
SetMemberBinder(string name, bool ignoreCase)
DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value, DynamicMetaObject? errorSuggestion)
static void Requires([DoesNotReturnIf(false)] bool precondition, string paramName)
static void RequiresNotNull(object value, string paramName)