Как сериализовать нестатический дочерний класс статического класса

Я хочу сериализовать довольно обычный класс, но уловка в том, что он вложен в статический класс, например:

public static class StaticClass
{
    [Serializable]
    public class SomeType
    {
        ...
    }
}

Этот код:

StaticClass.SomeType obj = new StaticClass.SomeType();
XmlSerializer mySerializer = new XmlSerializer(typeof(obj));

Выдает следующую ошибку:

StaticClass.SomeType cannot be serialized. Static types cannot be used as parameters or return types.

Эта ошибка кажется совершенно несущественной; StaticClass.SomeType не является статическим типом.

Есть ли способ обойти это? Я ошибаюсь, думая, что эта ошибка глупая?

11
задан tenfour 18 December 2010 в 19:45
поделиться