static private GetComArguments ( |
||
args | ||
Résultat | System.Dynamic.DynamicMetaObject[] |
public override DynamicMetaObject /*!*/ FallbackInvoke(DynamicMetaObject target, DynamicMetaObject /*!*/[] /*!*/ args, DynamicMetaObject errorSuggestion) { if (target.Value is IDynamicMetaObjectProvider && errorSuggestion == null) { // try creating an instance... return(target.BindCreateInstance( _context.Create(this, CallInfo), args )); } #if FEATURE_COM DynamicMetaObject com; if (Microsoft.Scripting.ComInterop.ComBinder.TryBindInvoke(this, target, BindingHelpers.GetComArguments(args), out com)) { return(com); } #endif return(InvokeFallback(target, args, BindingHelpers.CallInfoToSignature(CallInfo), errorSuggestion)); }
public override DynamicMetaObject FallbackGetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject errorSuggestion) { #if !SILVERLIGHT DynamicMetaObject com; if (Microsoft.Scripting.ComInterop.ComBinder.TryBindGetIndex(this, target, BindingHelpers.GetComArguments(indexes), out com)) { return(com); } #endif return(PythonProtocol.Index(this, PythonIndexType.GetItem, ArrayUtils.Insert(target, indexes), errorSuggestion)); }
public override DynamicMetaObject FallbackSetIndex(DynamicMetaObject target, DynamicMetaObject[] indexes, DynamicMetaObject value, DynamicMetaObject errorSuggestion) { #if FEATURE_COM DynamicMetaObject com; if (Microsoft.Scripting.ComInterop.ComBinder.TryBindSetIndex(this, target, BindingHelpers.GetComArguments(indexes), BindingHelpers.GetComArgument(value), out com)) { return(com); } #endif DynamicMetaObject[] finalArgs = new DynamicMetaObject[indexes.Length + 2]; finalArgs[0] = target; for (int i = 0; i < indexes.Length; i++) { finalArgs[i + 1] = indexes[i]; } finalArgs[finalArgs.Length - 1] = value; return(PythonProtocol.Index(this, PythonIndexType.SetItem, finalArgs, errorSuggestion)); }