Пропуск функций при десериализации - PullRequest
0 голосов
/ 07 марта 2012

Я хочу пропустить (не вызывать) функцию во время десериализации объекта.Например, если у меня есть свойство.

private int _value1 
public int Value1 
{
   get { return _value1; }
   set { 
       _value1 = value;
       CallSomeFunction(_value1) 
   }
}

Я хочу не вызывать «CallSomeFunction (x)» во время десериализации.Поскольку десериализация устанавливает параметр Value1, она вызывает CallSomeFunction, которая на самом деле не должна вызываться, потому что CallSomeFunction уже выполнила свою работу, когда объект был создан вручную ранее.Есть ли способ сделать это так, чтобы он пропускал / не вызывал функцию в заданном свойстве и просто устанавливал только значение?

1 Ответ

1 голос
/ 07 марта 2012

Нет, во время установки вызова драйвера десериализации для инициализации свойства, просто поместите вашу функцию в другое место и вызовите ее перед сохранением:

MyClass
{
  public int Value1 {get;set;}

  public void CallSomeFunction(int value);
}

var item = new MyClass();
item.Value1 = CallSomeFunction(someValue);
Save(item);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...