Сериализация объектов IronPython, наследующих от типов CLR

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

5
задан 17 September 2010 в 09:31
поделиться