だから、IListを作成します<>これを好きです。 2値を追加するタイプ ''にタイプ ''のオブジェクトをキャストできません。
private IList<Agent> m_agentCollection = new List<Agent>();
macdAgentとrsiAgent
がm_agentCollection.Add(macdAgent);
m_agentCollection.Add(rsiAgent);
ですが、forループ部分
for (int i = 0; i < m_agentCollection.Count; i++)
{
AgentMACD macdAgent = (AgentMACD)m_agentCollection[i];
AgentRSI rsiAgent = (AgentRSI)m_agentCollection[i];
}
に、私は型のオブジェクトをキャストすることができませんを得る '.AgentMACD' と入力します'.AgenRSI'。 '
これは、AgentMACDがインデックス0にあり、AgentRSIがインデックス1にあり、これをどうやって達成できるのでしょうか?
あなたのリストには異なるタイプのインスタンスが含まれています。すべてのアイテムを繰り返し処理し、可能なすべてのタイプに各アイテムをキャストします。これはあなたが1つのタイプと多くのエイリアス名を持っている場合にのみ機能します。あなたは本当の種類があると思います。 (m_agentCollection [i]がAgentRSI rsiAgentの場合){/ * rsiAgent * /}を使用している場合 ' –
{/ * macdAgent * /}を使用して、配列インデックスをチェックして、同じインデックスでキャストしないようにする必要があります: 'if(i == 0){AgentMACD macdAgent =(AgentMACD)m_agentCollection [i]; } else if(i == 1){AgentRSI rsiAgent =(AgentRSI)m_agentCollection [i]; } ' –
これまでに理解してきたことから、リスト(0)にAgentMACDがあり、リスト(1)にAgentRSIなどがあります。ですから、それらの間にi ++を追加してください。単に。 –