QF/n is adapted from a Unix-based project.  We're aware that it does not entirely follow the .NET paradigm, but it does follow a methodology that has worked for more than 5 years in production trading environments.<br>

<br>We welcome all .NET developers who would like to contribute patches that will steer QF/n into a direction more conformant with .NET conventions and best practices.<br><a href="http://quickfixn.org/about/contribute">http://quickfixn.org/about/contribute</a><br>

<br>Regarding your points:<br><br><font color="#3333ff">"It makes code singning bad. I can not write a generic interface because my generated quickfix library changes depending what messages I expect."</font> -- Your message definitions should not be changing very often.  Sometimes the counterparty makes small modifications in their FIX spec, but recompiling for those changes has never been more than a minor task.<br>

<br><font color="#3333ff">"I can pretty mucn never get quickfix via NuGet because I have to – as you say yourself – regularly / normally generate my own version."</font> - Yes, this is a downside.<br><br>If you dislike custom compilation, then the non-typesafe generic methods are your main option.  If you can think of a better generic interface for field and message access, please log an issue with your proposal.<br>

<br>Note: please be aware of issue 12, which may affect apps that use the default message specs.<br><a href="https://github.com/connamara/quickfixn/issues/12">https://github.com/connamara/quickfixn/issues/12</a><br><br>-Grant<br>

<br><br>On Mon, Apr 16, 2012 at 10:48 AM, Thomas Tomiczek <<a href="mailto:t.tomiczek@nettecture.com">t.tomiczek@nettecture.com</a>> wrote:<br>><br>> Yes, but working with .NET more than 10 years… I should not have to rework the base library for that. I should be able to bind my own generated message classes into QuickFix (maybe register them with a method call).<br>

><br>>  <br>><br>> Having to regenerate the core library breaks multiple core .NET fundamentals:<br>><br>>  <br>><br>> -          It makes code singning bad. I can not write a generic interface because my generated quickfix library changes depending what messages I expect.<br>

><br>> -          I can pretty mucn never get quickfix via NuGet because I have to – as you say yourself – regularly / normally generate my own version.<br>><br>>  <br>><br>> The .NET way is NOT “regenerate part of the library”, it is “there is a library, your messages are part of your code and here is how to make sure our library works with your messages”.<br>

><br>>  <br>><br>> Failing to be willing to compromise with core .NET design principles on my end. If I have to modify the QuickFix codebase it means I will use that feature. Until that part is reworked into – well – standard .NET behaviors and proper separated design.<br>

><br>>  <br>><br>> From: <a href="mailto:quickfixn-bounces@lists.quickfixn.com">quickfixn-bounces@lists.quickfixn.com</a> [mailto:<a href="mailto:quickfixn-bounces@lists.quickfixn.com">quickfixn-bounces@lists.quickfixn.com</a>] On Behalf Of Grant Birchmeier<br>

> Sent: 16 April 2012 17:44<br>><br>><br>> To: Mailing list for QuickFIX/n<br>> Subject: Re: {{Quickfixn}} How do make my own messages for the cracker? ;)<br>><br>>  <br>><br>> Generating the message class files and fields is actually rather easy.  Because of the flexible nature of FIX, this is actually a standard practice with QuickFIX (for any language).<br>

><br>>  <br>><br>> Having worked with QF for quite some time now, the advantage of having convenient and type-safe field methods is more than worth the minor trouble of rebuilding.<br>><br>>  <br>><br>

> -Grant<br>><br>>  <br>><br>>  <br>><br>> On Mon, Apr 16, 2012 at 10:28 AM, Thomas Tomiczek <<a href="mailto:t.tomiczek@nettecture.com">t.tomiczek@nettecture.com</a>> wrote:<br>><br>> Actually I have the FIX42.xml file from TT – all the fields are there. I really do not like I have to recompile QuickFix for something that is likely a common modification (i.e. there ma be versions that may move in and out of a program). Would be nicer of a T4 script would be there (put it into a project, link xml file, generate source on click) and the messages could be in a separate dll (get quickfix from nugget, still use my own generated messages) ;)<br>

><br>>  <br>><br>> Well ;) For now I stick with manual code then. I don’t want to use my own version of QuickFix for something like that.<br>><br>>  <br>><br>> From: <a href="mailto:quickfixn-bounces@lists.quickfixn.com">quickfixn-bounces@lists.quickfixn.com</a> [mailto:<a href="mailto:quickfixn-bounces@lists.quickfixn.com">quickfixn-bounces@lists.quickfixn.com</a>] On Behalf Of Grant Birchmeier<br>

> Sent: 16 April 2012 17:26<br>> To: Mailing list for QuickFIX/n<br>> Subject: Re: {{Quickfixn}} How do make my own messages for the cracker? ;)<br>><br>>  <br>><br>> If you want to add new message types, you'll have to edit the FIX44.xml file (or the xml file for whatever version TT is based on).  Then you can regenerate the QF source and you'll have typesafe methods for your messages and fields.<br>

><br>>  <br>><br>> Have a look at the xml file.  I don't think we have docs about it's structure, but I think it's fairly easy to figure out after you look at it for a few minutes.  There's a huge section at the start that defines the messages, followed by a huge section that defines the fields.<br>

><br>>  <br>><br>> -Grant<br>><br>>  <br>><br>> On Mon, Apr 16, 2012 at 9:58 AM, Thomas Tomiczek <<a href="mailto:t.tomiczek@nettecture.com">t.tomiczek@nettecture.com</a>> wrote:<br>><br>
> I try to hook up TT Fix (Trading Technologies) and their XML defines some additional messages.<br>
><br>>  <br>><br>> So far I do the “GetField” stuff, which obviously is a little more tendious than using the cracker.<br>><br>>  <br>><br>>  <br>><br>> Would like to have my own clases generated. Any documentation for that?<br>

><br>>  <br>><br>> Regards<br>><br>>  <br>><br>> Thomas<br>><br>><br>> _______________________________________________<br>> Quickfixn mailing list<br>> <a href="mailto:Quickfixn@lists.quickfixn.com">Quickfixn@lists.quickfixn.com</a><br>

> <a href="http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com">http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com</a><br>><br>><br>><br>><br>> --<br>><br>> Grant Birchmeier<br>

><br>> Connamara Systems, LLC<br>><br>> Made-To-Measure Trading Solutions.<br>><br>> Exactly what you need. No more. No less.<br>><br>> <a href="http://connamara.com">http://connamara.com</a><br>><br>

>  <br>><br>><br>> _______________________________________________<br>> Quickfixn mailing list<br>> <a href="mailto:Quickfixn@lists.quickfixn.com">Quickfixn@lists.quickfixn.com</a><br>> <a href="http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com">http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com</a><br>

><br>><br>><br>><br>> --<br>><br>> Grant Birchmeier<br>><br>> Connamara Systems, LLC<br>><br>> Made-To-Measure Trading Solutions.<br>><br>> Exactly what you need. No more. No less.<br>

><br>> <a href="http://connamara.com">http://connamara.com</a><br>><br>>  <br>><br>><br>> _______________________________________________<br>> Quickfixn mailing list<br>> <a href="mailto:Quickfixn@lists.quickfixn.com">Quickfixn@lists.quickfixn.com</a><br>

> <a href="http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com">http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com</a><br>><br><br><br><br>--<br>Grant Birchmeier<br>Connamara Systems, LLC<br>

Made-To-Measure Trading Solutions.<br>Exactly what you need. No more. No less.<br><a href="http://connamara.com">http://connamara.com</a><br>