在反序列化期间跳过函数

时间:2012-03-07 03:30:56

标签: mongodb

我希望在反序列化期间跳过(不调用)函数。例如,如果我有财产。

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

我希望在反序列化期间不要调用“CallSomeFunction(x)”。因为反序列化设置了Value1,所以它调用的CallSomeFunction实际上不应该被调用,因为CallSomeFunction在之前手动创建对象时已经完成了它的工作。有没有办法这样做,以便它跳过/不调用set属性中的函数,只是设置值?

1 个答案:

答案 0 :(得分:1)

不,在反序列化驱动程序调用setter初始化属性时,只需将您的函数放在另一个地方并在保存之前调用它:

MyClass
{
  public int Value1 {get;set;}

  public void CallSomeFunction(int value);
}

var item = new MyClass();
item.Value1 = CallSomeFunction(someValue);
Save(item);