コード例 #1
0
        public unsafe void TickPassedAsPointer()
        {
            var stream = new TestTickStream(NumTicks);
            var tick   = Tick.Empty;

            while (stream.MoveNext(ref tick))
            {
                var tickPointer = new TickPointer(&tick);
                var x           = Process(tickPointer, 0);
            }
            TickPointer Process(TickPointer tickPointer, int depth)
            {
                return(depth == MethodPassingDepth ? tickPointer : Process(tickPointer, depth + 1));
            }
        }
コード例 #2
0
        public unsafe void AccessTickPointerMembers()
        {
            double   price, bid, ask, volume;
            DateTime time;
            var      tick        = new Tick(1, 1, 1, 1, DateTime.Now);
            var      tickPointer = new TickPointer(&tick);

            for (var i = 0; i < AccessCount; i++)
            {
                price  = tickPointer.Price;
                bid    = tickPointer.Bid;
                ask    = tickPointer.Ask;
                volume = tickPointer.Volume;
                time   = tickPointer.TimeStamp;
            }
        }