【发布时间】:2016-02-28 00:27:02
【问题描述】:
我正在开发一个股票交易应用程序,该应用程序利用经纪人的 dll 文件和命令通过 API 发出请求。最大的挑战(至少对我来说)是弄清楚如何为 API 提供输入所需的各种数据类型。现在我正在编写一些可以购买 1 股股票的测试代码。我已经能够弄清楚许多必要的转换,但枚举仍然让我难以理解。
InsertOrderRequest insertOrderRequest = new InsertOrderRequest();
insertOrderRequest.m_accountNumber = "00000001";
insertOrderRequest.m_symbolId = Convert.ToUInt64(1900028);
insertOrderRequest.m_quantity = Convert.ToDouble(1);
insertOrderRequest.m_orderType = "Market"; //Needs to be enum
insertOrderRequest.m_timeInForce = "Day"; //Needs to be enum
insertOrderRequest.m_action = "Buy"; //Needs to be enum
insertOrderRequest.m_primaryRoute = "AUTO";
您可以看到我标记为“需要枚举”的 3 行。现在我进入对象浏览器并确定“Market”、“Day”和“Buy”是适当的响应,但它们不是正确的数据类型。是否有类似于“Convert.ToDouble()”的代码行将这些从字符串转换为枚举?谢谢。
【问题讨论】:
-
您是否为
OrderType, TimeInForce, and Action定义了Enum?你也可以展示一下吗? -
API需要string或int值?您的程序可以使用枚举作为其中任何一个。 -
在可能的副本中查看我的答案,了解您可以通过枚举来回转换所做的所有事情。
标签: c#