[英]How can I assign this delegate with variable arguments
当尝试使用具有可变数量的参数的委托时,出现以下错误:
错误39使用通用类型'SlotManager.OrdersConnection.delNewOrderSingle'需要6个类型参数
我究竟做错了什么?
public delegate QuickFix.Message delNewOrderSingle<A,B,C,D,E>(A a, B b, C c, D d, E e);
public delegate QuickFix.Message delNewOrderSingle<A, B, C, D, E, F>(A a, B b, C c, D d, E e, F f);
public virtual QuickFix.Message AgnosticNewOrderSingle42LIMITtest(char side, string symbol, decimal amount, decimal price)
{
delNewOrderSingle newOrderSingle = new QuickFix.FIX44.NewOrderSingle(
new ClOrdID(masterForm.OrderBook.GetNewClOrdIDBroker(ecn.brokerCode)),
new Symbol(symbol),
new Side(side),
new TransactTime(DateTime.Now),
ordType = new OrdType(OrdType.LIMIT));
}
注意:从肖恩的评论,我看到这个问题是非常错误的。 请看这个故事
似乎您正在尝试将NewOrderSingle
的实例分配给委托。 您需要为委托分配一个方法,而不是对象实例。
另外,由于委托是通用的,因此您需要指定通用类型
您是要这样做吗?
delNewOrderSingle<ClOrdID, Symbol, Side, TransactTime, OrdType> newOrderSingle = (a,b,c,d,e) => new QuickFix.FIX44.NewOrderSingle(a, b, c, d, e);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.