Esempio n. 1
0
 // Methods
 internal StandardTrackedObject(StandardChangeTracker tracker, MetaType type, object current,
                                object original)
 {
     if (current == null)
     {
         throw Error.ArgumentNull("current");
     }
     this.tracker  = tracker;
     this.type     = type.GetInheritanceType(current.GetType());
     this.current  = current;
     this.original = original;
     state         = State.PossiblyModified;
     //if (type is DynamicMetaType)
     //{
     //    //TODO:由于 DynamicMetaType.DataMembers 数量是变值,只能暂时给最个大值,
     //    dirtyMemberCache = new BitArray(DynamicMetaType.MaxDataMembersCount);
     //}
     //else
     dirtyMemberCache = new BitArray(this.type.DataMembers.Count);
 }
Esempio n. 2
0
 internal StandardTrackedObject(StandardChangeTracker tracker, MetaType type, object current,
                                object original, bool isWeaklyTracked)
     : this(tracker, type, current, original)
 {
     this.isWeaklyTracked = isWeaklyTracked;
 }