Re[2]: Странное поведение сериализации...
От: mDmitriy Россия  
Дата: 20.05.15 05:59
Оценка:
Здравствуйте, Sinix, Вы писали:
S>Где-то вы пытаетесь передать в другой домен лямбду с замыканием на переменную. Такие делегаты не сериализуются.
Ну вот базовый класс:
    [Serializable]
    public abstract class AttributesBase
    {
        public delegate bool Check();
        protected internal readonly Dictionary<Check, string> Errors = new Dictionary<Check, string>();

        public string[] ResponseDlls;

        public AttributesBase()
        {
            Errors.Add(() => ResponseDlls == null, "response list not initialize");
            Errors.Add(() => ResponseDlls.Length == 0, "not response dll's");
        }
    // ...
    }

Если наследника создавать первым его (наследника) конструктором, то все прекрасно передается...
Фактически в другом домене делегат и Dictionary не используются
Другие наследники этого класса тоже передаются без ошибок, правда, по ссылке (там нужно значения возвращать)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.