市场数据请求代码格式

Market Data Request Code Formatting

    var noMDETGroup1 = new QuickFix.FIX42.MarketDataRequest.NoMDEntryTypesGroup();
    noMDETGroup1.MDEntryType = new MDEntryType('0');
    var noMDETGroup2 = new QuickFix.FIX42.MarketDataRequest.NoMDEntryTypesGroup();
    noMDETGroup2.MDEntryType = new MDEntryType('1');
    var noMDETGroup3 = new QuickFix.FIX42.MarketDataRequest.NoMDEntryTypesGroup();
    noMDETGroup3.MDEntryType = new MDEntryType('2');
    var noMDETGroup4 = new QuickFix.FIX42.MarketDataRequest.NoMDEntryTypesGroup();
    noMDETGroup4.MDEntryType = new MDEntryType('4');

    msg.AddGroup(noMDETGroup1);
    msg.AddGroup(noMDETGroup2);
    msg.AddGroup(noMDETGroup3);
    msg.AddGroup(noMDETGroup4);
}

重复分组有没有更简单的方法? Quick Fix/n 网站给了我这个想法:http://quickfixn.org/tutorial/repeating-groups.html

好吧,这是一种方法:

char[] mdEntryTypes = {'0', '1', '2', '4'};
foreach (char c in mdEntryTypes)
{
    var group = new QuickFix.FIX42.MarketDataRequest.NoMDEntryTypesGroup();
    group.MDEntryType = new MDEntryType(c);
    msg.AddGroup(group);
}