Это может быть немного странный вопрос, но есть ли надежный способ сериализации объектов IronPython, классы которых расширяют типы CLR?
Например:
class Foo(System.Collections.Generic.List[str]):
def Test(self):
print "test!"
System.Collections.Generic.List
сериализуем с помощью Pickle, поскольку он реализует интерфейс ISerializable
, но порожденные подклассы сериализуемых типов CLR, похоже, не работает, и я получаю ImportError: в mscorlib нет модуля с именем Generic, Version = 4
при запуске pickle.dumps (Foo ())
.
Кроме того, запуск обычного Formatter.Serialize (stream, object)
дает мне:
SystemError: Type 'IronPython.NewTypes.System.Collections.Generic.List`1_4$4' in Assembly Snippets.scripting, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.
Как я могу реализовать сериализацию объектов IronPython при работе во встроенной среде C #?