Работа над проектом, в котором в качестве плагинов используются некоторые сценарии IronPython, использующие функции, закодированные в C #.В одном из моих классов C # у меня есть свойство, которое имеет тип:
Dictionary<int, float>
Я устанавливаю значение этого свойства из кода IronPython, например:
mc = MyClass()
mc.ValueDictionary = Dictionary[int, float]({1:0.0, 2:0.012, 3:0.024})
ОднакоКогда этот бит кода запускается, он выдает следующее исключение:
Microsoft.Scripting.ArgumentTypeException was unhandled by user code
Message=expected Dictionary[int, Single], got Dictionary[int, float]
Чтобы сделать что-то более странное, первоначально код C # использовал
Dictionary<int, double>
, но я не смог найти "double "type в IronPython, пробовал" плавать "по прихоти, и все работало нормально, без ошибок.Но теперь, когда он использует float на обоих концах (который он должен был использовать с самого начала), он ошибается и думает, что код C # использует тип данных «Single»?!
Я даже проверилв браузере объектов для библиотеки C #, и, конечно же, он показывает, что использует тип «float», а не «Single»