Это может быть немного странным вопросом, но есть ли надежный способ сериализации объектов IronPython, классы которых расширяют типы CLR?
Например:
class Foo(System.Collections.Generic.List[str]):
def Test(self):
print "test!"
System.Collections.Generic.List<string>
Сериализуем с Pickle, поскольку он реализует интерфейс ISerializable
, но испускаемые подклассы сериализуемых типов CLR, похоже, не работают, и я получаю ImportError: No module named Generic in mscorlib, 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 #?