用了.net 的表达式
真折腾
tick.UpdateTime = reader.GetDateTime(nDataTime);
tick.AskPrice = new double[] { reader.GetDouble(nAskPrice1), reader.GetDouble(nAskPrice2), reader.GetDouble(nAskPrice3), reader.GetDouble(nAskPrice4), reader.GetDouble(nAskPrice5) };
tick.AskVolume = new int[] { reader.GetInt32(nAskVolume1), reader.GetInt32(nAskVolume2), reader.GetInt32(nAskVolume3), reader.GetInt32(nAskVolume4), reader.GetInt32(nAskVolume5) };
tick.BidPrice = new double[] { reader.GetDouble(nBidPrice1), reader.GetDouble(nBidPrice2), reader.GetDouble(nBidPrice3), reader.GetDouble(nBidPrice4), reader.GetDouble(nBidPrice5) };
tick.BidVolume = new int[] { reader.GetInt32(nBidVolume1), reader.GetInt32(nBidVolume2), reader.GetInt32(nBidVolume3), reader.GetInt32(nBidVolume4), reader.GetInt32(nBidVolume5) };
tick.chgPrice = reader.GetDouble(nChgPrice);
tick.DeliveryMonth = reader.GetDateTime(nDeliveryDate);
tick.doneVolume = reader.GetInt32(nDoneVolume);
tick.ExchangeName = reader.GetString(nMarketName);
tick.highestPrice = reader.GetDouble(nHighestPrice);
tick.hisHighestPrice = reader.GetDouble(nHisHighestPrice);
tick.hisLowestPrice = reader.GetDouble(nHisLowestPrice);
tick.lastPrice = reader.GetDouble(nLastPrice);
tick.lowerLimitPrice = reader.GetDouble(nLowerLimitPrice);
tick.lowestPrice = reader.GetDouble(nLowestPrice);
tick.openInterest = reader.GetInt32(nOpenInerest);
tick.preClosePrice = reader.GetDouble(nPreClosePrice);
tick.preSettlePrice = reader.GetDouble(nPreSettelPrice);
tick.settlePrice = reader.GetDouble(nSettlePrice);
tick.turnover = reader.GetDouble(nTurnover);
tick.upd_serial = reader.GetInt32(nUpdSerial);
tick.UpdateTime = reader.GetDateTime(nDataTime);
tick.upperLimitPrice = reader.GetDouble(nUpperLimitPrice);
tick.VarietyCode = reader.GetString(nVarietyCode);
tick.VarietyId = reader.GetInt32(nVarietyId);
tick.VarietyName = reader.GetString(nVarietyName);
from: tick\.(\w+)\s+=\s+.+;
n$1=arg_reader.GetOridinal("$1");
http://msdn.microsoft.com/en-us/library/az24scfc.aspx