Это может быть немного странный вопрос, но есть ли надежный способ сериализации объектов 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 #?