public override MetaObject BindSetIndex(SetIndexBinder binder, MetaObject[] indexes, MetaObject value) { if (_callable.ComMethodDesc.IsPropertyPut) { if (indexes.Any(arg => ComBinderHelpers.IsStrongBoxArg(arg))) { return ComBinderHelpers.RewriteStrongBoxAsRef(binder, this, indexes.AddLast(value)); } return BindComInvoke(binder.Arguments, indexes.AddLast(value)); } return base.BindSetIndex(binder, indexes, value); }
public override MetaObject BindSetIndex(SetIndexBinder binder, MetaObject[] indexes, MetaObject value) { ContractUtils.RequiresNotNull(binder, "binder"); return IndexOperation(binder.FallbackSetIndex(UnwrapSelf(), indexes, value), indexes.AddLast(value), "TryGetSetItem"); }
public override MetaObject BindSetIndex(SetIndexBinder binder, MetaObject[] indexes, MetaObject value) { ContractUtils.RequiresNotNull(binder, "binder"); return binder.Defer(WrapSelf(), indexes.AddLast(value)); }