9 types derived from DynamicMetaObject
Microsoft.CSharp (7)
Microsoft\CSharp\RuntimeBinder\ComInterop\ComClassMetaObject.cs (1)
11internal sealed class ComClassMetaObject : DynamicMetaObject
Microsoft\CSharp\RuntimeBinder\ComInterop\ComFallbackMetaObject.cs (2)
17internal class ComFallbackMetaObject : DynamicMetaObject 66internal sealed class ComUnwrappedMetaObject : DynamicMetaObject
Microsoft\CSharp\RuntimeBinder\ComInterop\ComMetaObject.cs (1)
13internal sealed class ComMetaObject : DynamicMetaObject
Microsoft\CSharp\RuntimeBinder\ComInterop\DispCallableMetaObject.cs (1)
12internal sealed class DispCallableMetaObject : DynamicMetaObject
Microsoft\CSharp\RuntimeBinder\ComInterop\TypeEnumMetaObject.cs (1)
11internal sealed class TypeEnumMetaObject : DynamicMetaObject {
Microsoft\CSharp\RuntimeBinder\ComInterop\TypeLibMetaObject.cs (1)
10internal sealed class TypeLibMetaObject : DynamicMetaObject {
System.Linq.Expressions (2)
System\Dynamic\DynamicObject.cs (1)
210private sealed class MetaDynamic : DynamicMetaObject
System\Dynamic\ExpandoObject.cs (1)
776private sealed class MetaExpando : DynamicMetaObject
32 instantiations of DynamicMetaObject
Microsoft.CSharp (19)
Microsoft\CSharp\RuntimeBinder\BinderHelper.cs (3)
102return new DynamicMetaObject(expression, restrictions); 126return new DynamicMetaObject(expression, restrictions); 135return new DynamicMetaObject(
Microsoft\CSharp\RuntimeBinder\ComInterop\ComBinder.cs (2)
48result = new DynamicMetaObject( 210result = new DynamicMetaObject(
Microsoft\CSharp\RuntimeBinder\ComInterop\ComBinderHelpers.cs (1)
90newArgs[i] = new DynamicMetaObject(
Microsoft\CSharp\RuntimeBinder\ComInterop\ComClassMetaObject.cs (1)
20return new DynamicMetaObject(
Microsoft\CSharp\RuntimeBinder\ComInterop\ComInvokeAction.cs (1)
33return errorSuggestion ?? new DynamicMetaObject(
Microsoft\CSharp\RuntimeBinder\ComInterop\ComInvokeBinder.cs (1)
159return new DynamicMetaObject(
Microsoft\CSharp\RuntimeBinder\ComInterop\ComMetaObject.cs (1)
58return new DynamicMetaObject(
Microsoft\CSharp\RuntimeBinder\ComInterop\DispCallableMetaObject.cs (1)
64return new DynamicMetaObject(
Microsoft\CSharp\RuntimeBinder\ComInterop\IDispatchMetaObject.cs (5)
114return new DynamicMetaObject( 135return new DynamicMetaObject( 167return new DynamicMetaObject( 215return new DynamicMetaObject( 229return new DynamicMetaObject(
Microsoft\CSharp\RuntimeBinder\ComInterop\TypeEnumMetaObject.cs (1)
21return new DynamicMetaObject(
Microsoft\CSharp\RuntimeBinder\ComInterop\TypeLibMetaObject.cs (1)
37return new DynamicMetaObject(
Microsoft\CSharp\RuntimeBinder\DynamicDebuggerProxy.cs (1)
46var error = new DynamicMetaObject(System.Linq.Expressions.Expression.Throw(
PresentationFramework-SystemCore (1)
DynamicAccessorImpl.cs (1)
233return new DynamicMetaObject(
System.Linq.Expressions (12)
System\Dynamic\DynamicMetaObject.cs (1)
301return new DynamicMetaObject(expression, BindingRestrictions.Empty, value);
System\Dynamic\DynamicMetaObjectBinder.cs (1)
217return new DynamicMetaObject(
System\Dynamic\DynamicObject.cs (5)
574var resultMO = new DynamicMetaObject(result, BindingRestrictions.Empty); 637resultMO = new DynamicMetaObject(checkedConvert, resultMO.Restrictions); 645var callDynamic = new DynamicMetaObject( 705var callDynamic = new DynamicMetaObject( 768var callDynamic = new DynamicMetaObject(
System\Dynamic\ExpandoObject.cs (5)
802var result = new DynamicMetaObject(value, BindingRestrictions.Empty); 808result = new DynamicMetaObject( 864new DynamicMetaObject( 895DynamicMetaObject target = new DynamicMetaObject( 944return new DynamicMetaObject(
581 references to DynamicMetaObject
Microsoft.CSharp (218)
Microsoft\CSharp\RuntimeBinder\BinderHelper.cs (11)
25internal static DynamicMetaObject Bind( 28DynamicMetaObject[] args, 30DynamicMetaObject onBindingError) 40DynamicMetaObject o = args[index]; 96Expression expression = binder.Bind(action, parameters, args, out DynamicMetaObject deferredBinding); 115DynamicMetaObject arg0 = args[0]; 148public static void ValidateBindArgument(DynamicMetaObject argument, string paramName) 157public static void ValidateBindArgument(DynamicMetaObject[] arguments, string paramName) 186private static bool IsDynamicallyTypedRuntimeProxy(DynamicMetaObject argument, CSharpArgumentInfo info) 207DynamicMetaObject argument, 283private static Type GetTypeForErrorMetaObject(ICSharpBinder action, DynamicMetaObject[] args)
Microsoft\CSharp\RuntimeBinder\ComInterop\ComBinder.cs (38)
32/// <param name="result">The new <see cref="DynamicMetaObject"/> representing the result of the binding.</param> 37public static bool TryBindGetMember(GetMemberBinder binder, DynamicMetaObject instance, out DynamicMetaObject result, bool delayInvocation) 65/// <param name="value">The <see cref="DynamicMetaObject"/> representing the value for the set member operation.</param> 66/// <param name="result">The new <see cref="DynamicMetaObject"/> representing the result of the binding.</param> 70public static bool TryBindSetMember(SetMemberBinder binder, DynamicMetaObject instance, DynamicMetaObject value, out DynamicMetaObject result) 91/// <param name="args">An array of <see cref="DynamicMetaObject"/> instances - arguments to the invoke member operation.</param> 92/// <param name="result">The new <see cref="DynamicMetaObject"/> representing the result of the binding.</param> 96public static bool TryBindInvoke(InvokeBinder binder, DynamicMetaObject instance, DynamicMetaObject[] args, out DynamicMetaObject result) 117/// <param name="args">An array of <see cref="DynamicMetaObject"/> instances - arguments to the invoke member operation.</param> 118/// <param name="result">The new <see cref="DynamicMetaObject"/> representing the result of the binding.</param> 122public static bool TryBindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject instance, DynamicMetaObject[] args, out DynamicMetaObject result) 143/// <param name="args">An array of <see cref="DynamicMetaObject"/> instances - arguments to the invoke member operation.</param> 144/// <param name="result">The new <see cref="DynamicMetaObject"/> representing the result of the binding.</param> 148public static bool TryBindGetIndex(GetIndexBinder binder, DynamicMetaObject instance, DynamicMetaObject[] args, out DynamicMetaObject result) 169/// <param name="args">An array of <see cref="DynamicMetaObject"/> instances - arguments to the invoke member operation.</param> 170/// <param name="value">The <see cref="DynamicMetaObject"/> representing the value for the set index operation.</param> 171/// <param name="result">The new <see cref="DynamicMetaObject"/> representing the result of the binding.</param> 175public static bool TryBindSetIndex(SetIndexBinder binder, DynamicMetaObject instance, DynamicMetaObject[] args, DynamicMetaObject value, out DynamicMetaObject result) 197/// <param name="result">The new <see cref="DynamicMetaObject"/> representing the result of the binding.</param> 199public static bool TryConvert(ConvertBinder binder, DynamicMetaObject instance, out DynamicMetaObject result) 265private static bool TryGetMetaObject(ref DynamicMetaObject instance) 285private static bool TryGetMetaObjectInvoke(ref DynamicMetaObject instance) 319public override DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion)
Microsoft\CSharp\RuntimeBinder\ComInterop\ComBinderHelpers.cs (7)
36internal static bool IsByRef(DynamicMetaObject mo) 42internal static bool IsStrongBoxArg(DynamicMetaObject o) 51internal static bool[] ProcessArgumentsForCom(ref DynamicMetaObject[] args) 55DynamicMetaObject[] newArgs = new DynamicMetaObject[args.Length]; 60DynamicMetaObject curArgument = args[i]; 110internal static BindingRestrictions GetTypeRestrictionForDynamicMetaObject(DynamicMetaObject obj)
Microsoft\CSharp\RuntimeBinder\ComInterop\ComClassMetaObject.cs (2)
18public override DynamicMetaObject BindCreateInstance(CreateInstanceBinder binder, DynamicMetaObject[] args)
Microsoft\CSharp\RuntimeBinder\ComInterop\ComFallbackMetaObject.cs (10)
24public override DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes) 30public override DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject[] indexes, DynamicMetaObject value) 36public override DynamicMetaObject BindGetMember(GetMemberBinder binder) 42public override DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args) 48public override DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value)
Microsoft\CSharp\RuntimeBinder\ComInterop\ComInvokeAction.cs (5)
26public override DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion) 28if (ComBinder.TryBindInvoke(this, target, args, out DynamicMetaObject res))
Microsoft\CSharp\RuntimeBinder\ComInterop\ComInvokeBinder.cs (5)
24private readonly DynamicMetaObject[] _args; 46DynamicMetaObject[] args, 126private static Type MarshalType(DynamicMetaObject mo, bool isByRef) 142internal DynamicMetaObject Invoke() 152DynamicMetaObject curMo = _args[i];
Microsoft\CSharp\RuntimeBinder\ComInterop\ComMetaObject.cs (13)
20public override DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args) 26public override DynamicMetaObject BindInvoke(InvokeBinder binder, DynamicMetaObject[] args) 32public override DynamicMetaObject BindGetMember(GetMemberBinder binder) 38public override DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value) 44public override DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes) 50public override DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject[] indexes, DynamicMetaObject value) 56private DynamicMetaObject WrapSelf()
Microsoft\CSharp\RuntimeBinder\ComInterop\ComObject.cs (1)
113DynamicMetaObject IDynamicMetaObjectProvider.GetMetaObject(Expression parameter)
Microsoft\CSharp\RuntimeBinder\ComInterop\ComTypeClassDesc.cs (1)
69public DynamicMetaObject GetMetaObject(Expression parameter)
Microsoft\CSharp\RuntimeBinder\ComInterop\ComTypeEnumDesc.cs (1)
59DynamicMetaObject IDynamicMetaObjectProvider.GetMetaObject(Expression parameter)
Microsoft\CSharp\RuntimeBinder\ComInterop\ComTypeLibDesc.cs (1)
40DynamicMetaObject IDynamicMetaObjectProvider.GetMetaObject(Expression parameter)
Microsoft\CSharp\RuntimeBinder\ComInterop\DispCallable.cs (1)
35public DynamicMetaObject GetMetaObject(Expression parameter)
Microsoft\CSharp\RuntimeBinder\ComInterop\DispCallableMetaObject.cs (12)
22public override DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes) 28public override DynamicMetaObject BindInvoke(InvokeBinder binder, DynamicMetaObject[] args) 34private DynamicMetaObject BindGetOrInvoke(DynamicMetaObject[] args, CallInfo callInfo) 49public override DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject[] indexes, DynamicMetaObject value) 61DynamicMetaObject result = BindComInvoke(method, indexes.AddLast(value), binder.CallInfo, isByRef); 73private DynamicMetaObject BindComInvoke(ComMethodDesc method, DynamicMetaObject[] indexes, CallInfo callInfo, bool[] isByRef)
Microsoft\CSharp\RuntimeBinder\ComInterop\IDispatchComObject.cs (1)
315DynamicMetaObject IDynamicMetaObjectProvider.GetMetaObject(Expression parameter)
Microsoft\CSharp\RuntimeBinder\ComInterop\IDispatchMetaObject.cs (24)
24public override DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args) 39public override DynamicMetaObject BindInvoke(InvokeBinder binder, DynamicMetaObject[] args) 52private DynamicMetaObject BindComInvoke(DynamicMetaObject[] args, ComMethodDesc method, CallInfo callInfo, bool[] isByRef) 68public override DynamicMetaObject BindGetMember(GetMemberBinder binder) 98private DynamicMetaObject BindGetMember(ComMethodDesc method, bool canReturnCallables) 104return BindComInvoke(DynamicMetaObject.EmptyMetaObjects, method, new CallInfo(0), Array.Empty<bool>()); 111return BindComInvoke(DynamicMetaObject.EmptyMetaObjects, method, new CallInfo(0), Array.Empty<bool>()); 124private DynamicMetaObject BindEvent(ComEventDesc eventDesc) 141public override DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes) 154public override DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject[] indexes, DynamicMetaObject value) 164DynamicMetaObject result = BindComInvoke(indexes.AddLast(value), setItem, binder.CallInfo, isByRef); 176public override DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value) 191private DynamicMetaObject TryPropertyPut(SetMemberBinder binder, DynamicMetaObject value) 204DynamicMetaObject result = new ComInvokeBinder( 224private DynamicMetaObject TryEventHandlerNoop(SetMemberBinder binder, DynamicMetaObject value)
Microsoft\CSharp\RuntimeBinder\ComInterop\IPseudoComObject.cs (1)
13DynamicMetaObject GetMetaObject(Expression expression);
Microsoft\CSharp\RuntimeBinder\ComInterop\TypeEnumMetaObject.cs (1)
19public override DynamicMetaObject BindGetMember(GetMemberBinder binder) {
Microsoft\CSharp\RuntimeBinder\ComInterop\TypeLibMetaObject.cs (5)
18private DynamicMetaObject TryBindGetMember(string name) { 48public override DynamicMetaObject BindGetMember(GetMemberBinder binder) { 52public override DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args) { 53DynamicMetaObject result = TryBindGetMember(binder.Name);
Microsoft\CSharp\RuntimeBinder\CSharpBinaryOperationBinder.cs (5)
126/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 127public override DynamicMetaObject FallbackBinaryOperation(DynamicMetaObject target, DynamicMetaObject arg, DynamicMetaObject errorSuggestion)
Microsoft\CSharp\RuntimeBinder\CSharpConvertBinder.cs (5)
117/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 118public override DynamicMetaObject FallbackConvert(DynamicMetaObject target, DynamicMetaObject errorSuggestion) 121DynamicMetaObject com;
Microsoft\CSharp\RuntimeBinder\CSharpGetIndexBinder.cs (6)
90/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 91public override DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject errorSuggestion) 94DynamicMetaObject com;
Microsoft\CSharp\RuntimeBinder\CSharpGetMemberBinder.cs (5)
105/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 106public override DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion) 109DynamicMetaObject com;
Microsoft\CSharp\RuntimeBinder\CSharpInvokeBinder.cs (6)
103/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 104public override DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion) 107DynamicMetaObject com;
Microsoft\CSharp\RuntimeBinder\CSharpInvokeConstructorBinder.cs (3)
87public override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args)
Microsoft\CSharp\RuntimeBinder\CSharpInvokeMemberBinder.cs (11)
116/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 117public override DynamicMetaObject FallbackInvokeMember(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion) 120DynamicMetaObject com; 140/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 141public override DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject errorSuggestion)
Microsoft\CSharp\RuntimeBinder\CSharpIsEventBinder.cs (4)
85/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 86public override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args)
Microsoft\CSharp\RuntimeBinder\CSharpSetIndexBinder.cs (7)
110/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 111public override DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject value, DynamicMetaObject errorSuggestion) 114DynamicMetaObject com;
Microsoft\CSharp\RuntimeBinder\CSharpSetMemberBinder.cs (6)
110/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 111public override DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value, DynamicMetaObject errorSuggestion) 114DynamicMetaObject com;
Microsoft\CSharp\RuntimeBinder\CSharpUnaryOperationBinder.cs (4)
110/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 111public override DynamicMetaObject FallbackUnaryOperation(DynamicMetaObject target, DynamicMetaObject errorSuggestion)
Microsoft\CSharp\RuntimeBinder\DynamicDebuggerProxy.cs (6)
41public override DynamicMetaObject FallbackGetMember(DynamicMetaObject self, DynamicMetaObject onBindingError) 45var v = new List<DynamicMetaObject> { self }; 46var error = new DynamicMetaObject(System.Linq.Expressions.Expression.Throw( 454DynamicMetaObject mo = ido.GetMetaObject(parameter);
Microsoft\CSharp\RuntimeBinder\RuntimeBinder.cs (10)
46public Expression Bind(ICSharpBinder payload, Expression[] parameters, DynamicMetaObject[] args, out DynamicMetaObject deferredBinding) 76DynamicMetaObject[] args, 77out DynamicMetaObject deferredBinding) 140DynamicMetaObject[] args, 142out DynamicMetaObject deferredBinding) 181DynamicMetaObject[] newArgs = new DynamicMetaObject[args.Length - 1]; 209private Type GetArgumentType(ICSharpBinder p, CSharpArgumentInfo argInfo, Expression param, DynamicMetaObject arg, int index) 253DynamicMetaObject[] args)
netstandard (1)
netstandard.cs (1)
766[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Dynamic.DynamicMetaObject))]
PresentationFramework-SystemCore (17)
DynamicAccessorImpl.cs (17)
172public override DynamicMetaObject FallbackGetMember(DynamicMetaObject target, 173DynamicMetaObject errorSuggestion) 187public override DynamicMetaObject FallbackSetMember(DynamicMetaObject target, 188DynamicMetaObject value, 189DynamicMetaObject errorSuggestion) 203public override DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, 204DynamicMetaObject[] indexes, 205DynamicMetaObject errorSuggestion) 219public override DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, 220DynamicMetaObject[] indexes, 221DynamicMetaObject value, 222DynamicMetaObject errorSuggestion) 231public static DynamicMetaObject ThrowExpression(string message, Type returnType)
System.Core (1)
System.Core.cs (1)
71[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Dynamic.DynamicMetaObject))]
System.Dynamic.Runtime (1)
System.Dynamic.Runtime.cs (1)
11[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Dynamic.DynamicMetaObject))]
System.Linq.Expressions (343)
System\Dynamic\BinaryOperationBinder.cs (14)
41/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 42public DynamicMetaObject FallbackBinaryOperation(DynamicMetaObject target, DynamicMetaObject arg) 53/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 54public abstract DynamicMetaObject FallbackBinaryOperation(DynamicMetaObject target, DynamicMetaObject arg, DynamicMetaObject? errorSuggestion); 61/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 62public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) 68var arg0 = args[0];
System\Dynamic\BindingRestrictions.cs (6)
15/// Represents a set of binding restrictions on the <see cref="DynamicMetaObject"/> under which the dynamic binding is valid. 75internal static BindingRestrictions GetTypeRestriction(DynamicMetaObject obj) 118/// Combines binding restrictions from the list of <see cref="DynamicMetaObject"/> instances into one set of restrictions. 120/// <param name="contributingObjects">The list of <see cref="DynamicMetaObject"/> instances from which to combine restrictions.</param> 122public static BindingRestrictions Combine(IList<DynamicMetaObject>? contributingObjects) 127foreach (DynamicMetaObject mo in contributingObjects)
System\Dynamic\ConvertBinder.cs (11)
43/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 44public DynamicMetaObject FallbackConvert(DynamicMetaObject target) 54/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 55public abstract DynamicMetaObject FallbackConvert(DynamicMetaObject target, DynamicMetaObject? errorSuggestion); 62/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 63public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[]? args)
System\Dynamic\CreateInstanceBinder.cs (13)
41/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 42public DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject[] args) 53/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 54public abstract DynamicMetaObject FallbackCreateInstance(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject? errorSuggestion); 61/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 62public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args)
System\Dynamic\DeleteIndexBinder.cs (13)
41/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 42public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) 60/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 61public DynamicMetaObject FallbackDeleteIndex(DynamicMetaObject target, DynamicMetaObject[] indexes) 72/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 73public abstract DynamicMetaObject FallbackDeleteIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject? errorSuggestion);
System\Dynamic\DeleteMemberBinder.cs (11)
48/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 49public DynamicMetaObject FallbackDeleteMember(DynamicMetaObject target) 59/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 60public abstract DynamicMetaObject FallbackDeleteMember(DynamicMetaObject target, DynamicMetaObject? errorSuggestion); 67/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 68public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[]? args)
System\Dynamic\DynamicMetaObject.cs (63)
17/// Represents an empty array of type <see cref="DynamicMetaObject"/>. This field is read-only. 19public static readonly DynamicMetaObject[] EmptyMetaObjects = Array.Empty<DynamicMetaObject>(); 22/// Initializes a new instance of the <see cref="DynamicMetaObject"/> class. 24/// <param name="expression">The expression representing this <see cref="DynamicMetaObject"/> during the dynamic binding process.</param> 36/// Initializes a new instance of the <see cref="DynamicMetaObject"/> class. 38/// <param name="expression">The expression representing this <see cref="DynamicMetaObject"/> during the dynamic binding process.</param> 40/// <param name="value">The runtime value represented by the <see cref="DynamicMetaObject"/>.</param> 52/// The expression representing the <see cref="DynamicMetaObject"/> during the dynamic binding process. 62/// The runtime value represented by this <see cref="DynamicMetaObject"/>. 67/// Gets a value indicating whether the <see cref="DynamicMetaObject"/> has the runtime value. 72/// Gets the <see cref="Type"/> of the runtime value or null if the <see cref="DynamicMetaObject"/> has no value associated with it. 97/// Gets the limit type of the <see cref="DynamicMetaObject"/>. 99/// <remarks>Represents the most specific type known about the object represented by the <see cref="DynamicMetaObject"/>. <see cref="RuntimeType"/> if runtime value is available, a type of the <see cref="Expression"/> otherwise.</remarks> 106/// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 107public virtual DynamicMetaObject BindConvert(ConvertBinder binder) 117/// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 118public virtual DynamicMetaObject BindGetMember(GetMemberBinder binder) 128/// <param name="value">The <see cref="DynamicMetaObject"/> representing the value for the set member operation.</param> 129/// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 130public virtual DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value) 140/// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 141public virtual DynamicMetaObject BindDeleteMember(DeleteMemberBinder binder) 151/// <param name="indexes">An array of <see cref="DynamicMetaObject"/> instances - indexes for the get index operation.</param> 152/// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 153public virtual DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes) 163/// <param name="indexes">An array of <see cref="DynamicMetaObject"/> instances - indexes for the set index operation.</param> 164/// <param name="value">The <see cref="DynamicMetaObject"/> representing the value for the set index operation.</param> 165/// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 166public virtual DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject[] indexes, DynamicMetaObject value) 176/// <param name="indexes">An array of <see cref="DynamicMetaObject"/> instances - indexes for the delete index operation.</param> 177/// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 178public virtual DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) 188/// <param name="args">An array of <see cref="DynamicMetaObject"/> instances - arguments to the invoke member operation.</param> 189/// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 190public virtual DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args) 200/// <param name="args">An array of <see cref="DynamicMetaObject"/> instances - arguments to the invoke operation.</param> 201/// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 202public virtual DynamicMetaObject BindInvoke(InvokeBinder binder, DynamicMetaObject[] args) 212/// <param name="args">An array of <see cref="DynamicMetaObject"/> instances - arguments to the create instance operation.</param> 213/// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 214public virtual DynamicMetaObject BindCreateInstance(CreateInstanceBinder binder, DynamicMetaObject[] args) 224/// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 225public virtual DynamicMetaObject BindUnaryOperation(UnaryOperationBinder binder) 235/// <param name="arg">An instance of the <see cref="DynamicMetaObject"/> representing the right hand side of the binary operation.</param> 236/// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 237public virtual DynamicMetaObject BindBinaryOperation(BinaryOperationBinder binder, DynamicMetaObject arg) 250/// Returns the list of expressions represented by the <see cref="DynamicMetaObject"/> instances. 252/// <param name="objects">An array of <see cref="DynamicMetaObject"/> instances to extract expressions from.</param> 254internal static Expression[] GetExpressions(DynamicMetaObject[] objects) 261DynamicMetaObject mo = objects[i]; 275/// <param name="expression">The expression representing this <see cref="DynamicMetaObject"/> during the dynamic binding process.</param> 281public static DynamicMetaObject Create(object value, Expression expression) 287var idoMetaObject = ido.GetMetaObject(expression);
System\Dynamic\DynamicMetaObjectBinder.cs (25)
16/// The dynamic call site binder that participates in the <see cref="DynamicMetaObject"/> binding protocol. 20/// as input. On the other hand, the <see cref="DynamicMetaObjectBinder"/> participates in the <see cref="DynamicMetaObject"/> 80DynamicMetaObject target = DynamicMetaObject.Create(args[0], parameters[0]); 81DynamicMetaObject[] metaArgs = CreateArgumentMetaObjects(args, parameters); 83DynamicMetaObject binding = Bind(target, metaArgs); 137private static DynamicMetaObject[] CreateArgumentMetaObjects(object[] args, ReadOnlyCollection<ParameterExpression> parameters) 139DynamicMetaObject[] mos; 142mos = new DynamicMetaObject[args.Length - 1]; 145mos[i - 1] = DynamicMetaObject.Create(args[i], parameters[i]); 150mos = DynamicMetaObject.EmptyMetaObjects; 160/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 161public abstract DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args); 181/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 182public DynamicMetaObject Defer(DynamicMetaObject target, params DynamicMetaObject[]? args) 203/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 204public DynamicMetaObject Defer(params DynamicMetaObject[] args) 209private DynamicMetaObject MakeDeferred(BindingRestrictions rs, params DynamicMetaObject[] args) 211var exprs = DynamicMetaObject.GetExpressions(args);
System\Dynamic\DynamicObject.cs (65)
219public override DynamicMetaObject BindGetMember(GetMemberBinder binder) 227(MetaDynamic @this, GetMemberBinder b, DynamicMetaObject? e) => b.FallbackGetMember(@this, e) 234public override DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value) 238DynamicMetaObject localValue = value; 245(MetaDynamic @this, SetMemberBinder b, DynamicMetaObject? e) => b.FallbackSetMember(@this, localValue, e) 252public override DynamicMetaObject BindDeleteMember(DeleteMemberBinder binder) 260(MetaDynamic @this, DeleteMemberBinder b, DynamicMetaObject? e) => b.FallbackDeleteMember(@this, e) 267public override DynamicMetaObject BindConvert(ConvertBinder binder) 275(MetaDynamic @this, ConvertBinder b, DynamicMetaObject? e) => b.FallbackConvert(@this, e) 282public override DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args) 299DynamicMetaObject call = BuildCallMethodWithResult( 308(MetaDynamic @this, GetMemberBinder ignored, DynamicMetaObject? e) => binder.FallbackInvoke(e!, args, null) 316public override DynamicMetaObject BindCreateInstance(CreateInstanceBinder binder, DynamicMetaObject[] args) 320DynamicMetaObject[] localArgs = args; 326(MetaDynamic @this, CreateInstanceBinder b, DynamicMetaObject? e) => b.FallbackCreateInstance(@this, localArgs, e) 333public override DynamicMetaObject BindInvoke(InvokeBinder binder, DynamicMetaObject[] args) 337DynamicMetaObject[] localArgs = args; 343(MetaDynamic @this, InvokeBinder b, DynamicMetaObject? e) => b.FallbackInvoke(@this, localArgs, e) 350public override DynamicMetaObject BindBinaryOperation(BinaryOperationBinder binder, DynamicMetaObject arg) 354DynamicMetaObject localArg = arg; 360(MetaDynamic @this, BinaryOperationBinder b, DynamicMetaObject? e) => b.FallbackBinaryOperation(@this, localArg, e) 367public override DynamicMetaObject BindUnaryOperation(UnaryOperationBinder binder) 375(MetaDynamic @this, UnaryOperationBinder b, DynamicMetaObject? e) => b.FallbackUnaryOperation(@this, e) 382public override DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes) 386DynamicMetaObject[] localIndexes = indexes; 392(MetaDynamic @this, GetIndexBinder b, DynamicMetaObject? e) => b.FallbackGetIndex(@this, localIndexes, e) 399public override DynamicMetaObject BindSetIndex(SetIndexBinder binder, DynamicMetaObject[] indexes, DynamicMetaObject value) 403DynamicMetaObject[] localIndexes = indexes; 404DynamicMetaObject localValue = value; 411(MetaDynamic @this, SetIndexBinder b, DynamicMetaObject? e) => b.FallbackSetIndex(@this, localIndexes, localValue, e) 418public override DynamicMetaObject BindDeleteIndex(DeleteIndexBinder binder, DynamicMetaObject[] indexes) 422DynamicMetaObject[] localIndexes = indexes; 428(MetaDynamic @this, DeleteIndexBinder b, DynamicMetaObject? e) => b.FallbackDeleteIndex(@this, localIndexes, e) 435private delegate DynamicMetaObject Fallback<TBinder>(MetaDynamic @this, TBinder binder, DynamicMetaObject? errorSuggestion); 515private DynamicMetaObject CallMethodWithResult<TBinder>(MethodInfo method, TBinder binder, Expression[] args, Fallback<TBinder> fallback) 525private DynamicMetaObject CallMethodWithResult<TBinder>(MethodInfo method, TBinder binder, Expression[] args, Fallback<TBinder> fallback, Fallback<TBinder>? fallbackInvoke) 532DynamicMetaObject fallbackResult = fallback(this, binder, null); 534DynamicMetaObject callDynamic = BuildCallMethodWithResult(method, binder, args, fallbackResult, fallbackInvoke); 555private DynamicMetaObject BuildCallMethodWithResult<TBinder>(MethodInfo method, TBinder binder, Expression[] args, DynamicMetaObject fallbackResult, Fallback<TBinder>? fallbackInvoke) 574var resultMO = new DynamicMetaObject(result, BindingRestrictions.Empty); 645var callDynamic = new DynamicMetaObject( 684private DynamicMetaObject CallMethodReturnLast<TBinder>(MethodInfo method, TBinder binder, Expression[] args, Expression value, Fallback<TBinder> fallback) 691DynamicMetaObject fallbackResult = fallback(this, binder, null); 705var callDynamic = new DynamicMetaObject( 753private DynamicMetaObject CallMethodNoResult<TBinder>(MethodInfo method, TBinder binder, Expression[] args, Fallback<TBinder> fallback) 760DynamicMetaObject fallbackResult = fallback(this, binder, null); 768var callDynamic = new DynamicMetaObject( 868public override DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject? errorSuggestion) 880/// Returns the <see cref="DynamicMetaObject" /> responsible for binding operations performed on this object, 885/// The <see cref="DynamicMetaObject" /> to bind this object. The object can be encapsulated inside of another 886/// <see cref="DynamicMetaObject"/> to provide custom behavior for individual actions. 888public virtual DynamicMetaObject GetMetaObject(Expression parameter) => new MetaDynamic(parameter, this);
System\Dynamic\ExpandoObject.cs (16)
293DynamicMetaObject IDynamicMetaObjectProvider.GetMetaObject(Expression parameter) 783private DynamicMetaObject BindGetOrInvokeMember(DynamicMetaObjectBinder binder, string name, bool ignoreCase, DynamicMetaObject fallback, Func<DynamicMetaObject, DynamicMetaObject>? fallbackInvoke) 802var result = new DynamicMetaObject(value, BindingRestrictions.Empty); 826public override DynamicMetaObject BindGetMember(GetMemberBinder binder) 838public override DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args) 850public override DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value) 879public override DynamicMetaObject BindDeleteMember(DeleteMemberBinder binder) 893DynamicMetaObject fallback = binder.FallbackDeleteMember(this); 895DynamicMetaObject target = new DynamicMetaObject( 921private DynamicMetaObject AddDynamicTestAndDefer(DynamicMetaObjectBinder binder, ExpandoClass klass, ExpandoClass? originalClass, DynamicMetaObject succeeds)
System\Dynamic\GetIndexBinder.cs (13)
41/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 42public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) 60/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 61public DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes) 72/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 73public abstract DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject? errorSuggestion);
System\Dynamic\GetMemberBinder.cs (11)
48/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 49public DynamicMetaObject FallbackGetMember(DynamicMetaObject target) 59/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 60public abstract DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject? errorSuggestion); 67/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 68public sealed override DynamicMetaObject Bind(DynamicMetaObject target, params DynamicMetaObject[]? args)
System\Dynamic\IDynamicMetaObjectProvider.cs (4)
13/// and implement <see cref="GetMetaObject" /> to return a <see cref="DynamicMetaObject" />. 18/// Returns the <see cref="DynamicMetaObject" /> responsible for binding operations performed on this object. 21/// <returns>The <see cref="DynamicMetaObject" /> to bind this object.</returns> 22DynamicMetaObject GetMetaObject(Expression parameter);
System\Dynamic\InvokeBinder.cs (13)
41/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 42public DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject[] args) 53/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 54public abstract DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject? errorSuggestion); 61/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 62public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args)
System\Dynamic\InvokeMemberBinder.cs (19)
57/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 58public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) 76/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 77public DynamicMetaObject FallbackInvokeMember(DynamicMetaObject target, DynamicMetaObject[] args) 88/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 89public abstract DynamicMetaObject FallbackInvokeMember(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject? errorSuggestion); 97/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 100/// as a sequence of get member, and invoke, to let the <see cref="DynamicMetaObject"/> 103public abstract DynamicMetaObject FallbackInvoke(DynamicMetaObject target, DynamicMetaObject[] args, DynamicMetaObject? errorSuggestion);
System\Dynamic\SetIndexBinder.cs (17)
41/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 42public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) 48DynamicMetaObject value = args[args.Length - 1]; 49DynamicMetaObject[] indexes = args.RemoveLast(); 68/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 69public DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject value) 81/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 82public abstract DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject value, DynamicMetaObject? errorSuggestion);
System\Dynamic\SetMemberBinder.cs (14)
49/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 50public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[] args) 56var arg0 = args[0]; 72/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 73public DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value) 84/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 85public abstract DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value, DynamicMetaObject? errorSuggestion);
System\Dynamic\UnaryOperationBinder.cs (11)
53/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 54public DynamicMetaObject FallbackUnaryOperation(DynamicMetaObject target) 64/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 65public abstract DynamicMetaObject FallbackUnaryOperation(DynamicMetaObject target, DynamicMetaObject? errorSuggestion); 72/// <returns>The <see cref="DynamicMetaObject"/> representing the result of the binding.</returns> 73public sealed override DynamicMetaObject Bind(DynamicMetaObject target, DynamicMetaObject[]? args)
System\Linq\Expressions\Compiler\DelegateHelpers.cs (4)
58internal static Type MakeDeferredSiteDelegate(DynamicMetaObject[] args, Type returnType) 70DynamicMetaObject mo = args[i]; 92DynamicMetaObject mo = args[i]; 108private static bool IsByRef(DynamicMetaObject mo)