Нужно Seriazlize List <object>, но FXCop жалуется "Не выставлять общие списки" - PullRequest
0 голосов
/ 20 декабря 2010

У меня есть объект, который мне нужно сериализовать.Объект содержит несколько свойств, в том числе список.FXCop жалуется, что я не должен показывать общие списки, и я получаю это, однако, из-за того, что я не могу указать интерфейсное свойство для объекта, который я хочу сериализовать, я не уверен, куда обращаться дальше.1001 *

Есть мысли?

Кстати, я использую XMLSerialization, но это не является обязательным требованием.

1 Ответ

0 голосов
/ 21 декабря 2010

Я принял предложение FxCop и завернул свой список в коллекцию.Это взорвало мой код из воды, но после нескольких настроек я снова заработал.

Вот код, показывающий до и после:

До:

   public class PersistentDataView
    {
        public string Title { get; set; }
        private List<object> Inputs { get; set;}
    }

После:

    public class PersistentDataView
    {
        private List<object> _inputs;

        public string Title { get; set; }
        public Collection<object> Inputs
        {
            get
            {
                if (_inputs == null)
                    _inputs = new List<object>();

                //Wrap the private field into a collection.
                return new Collection<object>(_inputs);
            }
        }
  }
...