public static bool TryBindSetIndex(SetIndexBinder binder, ref MetaObject instance, MetaObject[] args, MetaObject value) { if (TryGetMetaObject(ref instance)) { instance = instance.BindSetIndex(binder, args, value); return true; } return false; }
public sealed override MetaObject Bind(MetaObject target, MetaObject[] args) { ContractUtils.RequiresNotNull(target, "target"); ContractUtils.RequiresNotNull(args, "args"); ContractUtils.Requires(args.Length >= 2, "args"); MetaObject value = args[args.Length - 1]; MetaObject[] indexes = args.RemoveLast(); ContractUtils.RequiresNotNull(value, "args"); ContractUtils.RequiresNotNullItems(indexes, "args"); return(target.BindSetIndex(this, indexes, value)); }