Това може да е малко странен въпрос, но има ли надежден начин за сериализиране на 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# среда?