internal override SlotCursor GetSlotCursorCore(int iinfo) { Host.Assert(0 <= iinfo && iinfo < Infos.Length); Host.AssertValue(Infos[iinfo].SlotTypeSrc); var cursor = InputTranspose.GetSlotCursor(Infos[iinfo].Source); return(new SlotCursorImpl(Host, cursor, GetSlotTypeCore(iinfo))); }
protected override ISlotCursor GetSlotCursorCore(int iinfo) { Host.Assert(0 <= iinfo && iinfo < Infos.Length); Host.AssertValue(Infos[iinfo].SlotTypeSrc); Host.AssertValue(_exes[iinfo].SlotTypeDst); ISlotCursor cursor = InputTranspose.GetSlotCursor(Infos[iinfo].Source); return(new SlotCursor(Host, cursor, _exes[iinfo].SlotTypeDst)); }
protected override ISlotCursor GetSlotCursorCore(int iinfo) { Host.Assert(0 <= iinfo && iinfo < Infos.Length); Host.AssertValue(Infos[iinfo].SlotTypeSrc); ISlotCursor cursor = InputTranspose.GetSlotCursor(Infos[iinfo].Source); var type = GetSlotTypeCore(iinfo); Host.AssertValue(type); return(Utils.MarshalInvoke(GetSlotCursorCore <int>, type.ItemType.RawType, this, iinfo, cursor, type)); }