static private GetComArgument ( |
||
arg | ||
리턴 |
public override DynamicMetaObject FallbackSetMember(DynamicMetaObject self, DynamicMetaObject value, DynamicMetaObject errorSuggestion) { if (self.NeedsDeferral()) { return(Defer(self, value)); } #if FEATURE_COM DynamicMetaObject com; if (Microsoft.Scripting.ComInterop.ComBinder.TryBindSetMember(this, self, BindingHelpers.GetComArgument(value), out com)) { return(com); } #endif return(Context.Binder.SetMember(Name, self, value, errorSuggestion, new PythonOverloadResolverFactory(_context.Binder, AstUtils.Constant(Context.SharedContext)))); }
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)); }