Re: [Quickfix-developers] .Net: Cloning QuickFix.Message
Brought to you by:
orenmnero
From: <reg...@ho...> - 2009-09-29 18:34:25
|
Brian, The class I am trying to cast is a derived NewOrderSingle. It's indeed embedded in a switch statement but for the sake of the example I only reduced the code to the minimum. as a matter of fact in the fromApp() Method: "Message msg = message as NewOrderSingle" works. However: Message msg = new Message(message.ToString()) NewOrderSingle order = msg as NewOrderSingle don't I wish I could to NewOrderSingle order = new NewOrderSingle(message.ToString()) but this is not implemented. Any idea how I can sort the problem out? On Tue, 29 Sep 2009 11:21:10 -0700 (PDT), Brian Erst <azz...@ya...> wrote: > It looks like it's because you're instantiating a base class (Message) and > trying to cast it to a derived class (NewOrderSingle). > > As far as I can tell, Message doesn't define a clone method, so you'd > probably have to figure out the message type first, then use the copy > constructor for the derived class, e.g. > > Message newMsg; > if (msg instanceof NewOrderSingle) > { > newMsg = new NewOrderSingle(msg); // NewOrderSingle's copy > constructor for NOS and Message are identical > } ... etc... > > Obviously, if you had a bunch of different messages you wanted to clone, > you'd be better off building a switch statement off the MsgType of the > message. > > - Brian Erst > Thynk Software, Inc. > > > > > ________________________________ > From: "reg...@ho..." <reg...@ho...> > To: qui...@li... > Sent: Tuesday, September 29, 2009 11:46:48 AM > Subject: [Quickfix-developers] .Net: Cloning QuickFix.Message > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > > I'd like to clone FIX Messages. I have tried > fromApp(Message msg) > { > Message newMsg = new Message(msg.ToString); > } > > which seems to work fine. > Unfortunately it is thenimpossible to cast newMsg in any FIX subtypes! > e.g > > NewOrderSingle order = newMsg as NewOrderSingle; > > does not work anymore. (even though newMsg is indeed a NewOrderSingle > 35=D) > > Any idea why? > > Thanks, > > Regis > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9-12, 2009. Register now! > http://p.sf.net/sfu/devconf > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |