问题描述
我注意到在 Fix 4.4 版本中,他们对一个字符字段使用了两个符号
示例如下:
FIX 4.4 : MiscFeeType <139> field
Type: char
让我们看看为这些字段定义了哪些值
https://www.onixs.biz/fix-dictionary/4.4/tagnum_139.html
10 = Per transaction
11 = Conversion
12 = Agent
但 char 根据定义只有一个字符
https://www.onixs.biz/fix-dictionary/4.4/index.html#char
因此,当我提供 fix44.xml 字典文件并生成 C# 代码时,我最终会遇到类似
public const Char PER_TRANSACTION = '10';
解决方法
简单:在 DD 中将 139 的类型更改为字符串。
在 QuickFIX/n 中,自 2011 年以来,139 已生成为 StringField。请参阅 source。