Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ConvertBinder.cs
Go to the documentation of this file.
2
3namespace System.Dynamic;
4
6{
7 public Type Type { get; }
8
9 public bool Explicit { get; }
10
11 internal sealed override bool IsStandardBinder => true;
12
13 public sealed override Type ReturnType => Type;
14
15 protected ConvertBinder(Type type, bool @explicit)
16 {
18 Type = type;
19 Explicit = @explicit;
20 }
21
23 {
24 return FallbackConvert(target, null);
25 }
26
27 public abstract DynamicMetaObject FallbackConvert(DynamicMetaObject target, DynamicMetaObject? errorSuggestion);
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.BindConvert(this);
34 }
35}
DynamicMetaObject FallbackConvert(DynamicMetaObject target)
override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[]? args)
DynamicMetaObject FallbackConvert(DynamicMetaObject target, DynamicMetaObject? errorSuggestion)
ConvertBinder(Type type, bool @explicit)
virtual DynamicMetaObject BindConvert(ConvertBinder binder)
static void Requires([DoesNotReturnIf(false)] bool precondition, string paramName)
static void RequiresNotNull(object value, string paramName)