Ошибка использования Hashtable для приложения Windows Phone - PullRequest
0 голосов
/ 01 февраля 2012

Я хочу использовать этот синтаксический анализатор выражений .

Я импортирую этот код, который находится на сайте:

using System;
using System.Collections;
using info.lundin.Math;
// some other imports

public class Test 
{
  public static void Main( String[] args )
  {
    // Instantiate the parser
    ExpressionParser parser = new ExpressionParser();
    // Create a hashtable to hold values
    Hashtable h = new Hashtable();
    // Add variables and values to hashtable
    h.Add( "x", 1.ToString() );
    h.Add( "y", 2.ToString() );
    // Parse and write the result
    double result = parser.Parse( "xcos(y)", h );
  }
}

но он говорит, что не удалось найти пространство имен Hashtable. я нашел его в Google и узнал, что Hashtables не включены в Silverlight, и я должен использовать словарь.

Но когда я использую словарь, он выдает ошибку, которая говорит: не может конвертировать из System.Collections.Generic.Dictionary<string,string> в System.Collections.Hashtable

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 01 февраля 2012

Я бы изменил исходный код в программе синтаксического анализа так, чтобы он также был совместим с Silverlight (т. Е. Изменил все реализации хеш-таблиц на реализации словаря)

0 голосов
/ 15 января 2013

Hashtables и ArrayList не включены в Silverlight.Так что вы не можете использовать это.

Вы можете использовать общие коллекции - List и Dictionary вместо HashTables и ArrayLists.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...